数组代码:
private String[] a;//类别
private Double[] b;//金额
private String[] c;//说明
循环:
for (int q = 0; q < a.length;q++) {
for (int w = 0;w < b.length; w++) {
for (int e = 0; e < c.length;e++) {
bcv = new BizClaimVoucher();
bcv.setId(result);
bcvdo = new BizClaimVoucherDetall(bcv, a[q], b[w], c[e]);
}
}
bizClaimVoucherIService.addNewBCVD(bcvdo);
}
我是多条新增记录 但是执行的时候只有第一个层for的是正确的 别的只都是当前数组的最后一个值 重复的
你可以使用list集合来首先存放这些数据,然后在后台在遍历增加
for (int q = 0; q < a.length;q++) {
for (int w = 0;w < b.length; w++) {
for (int e = 0; e < c.length;e++) {
bcv = new BizClaimVoucher();
bcv.setId(result);
bcvdo = new BizClaimVoucherDetall(bcv, a[q], b[w], c[e]);
}
}
bizClaimVoucherIService.addNewBCVD(bcvdo);
}
首先你这样写的话,逻辑是有问题的。最内层循环了 a.length*b.length*c.length
。