日期:2014-05-19  浏览次数:20650 次

关于JAVA遍历方面,实在懵了
代码如下:
public boolean createImpOem(ImpOem[] impOem) {
List<String> sql = new ArrayList<String>();
StringBuilder sb = new StringBuilder();
String[][] parList = new String[impOem.length+1][];
  ImpOem item = null;
String[] par = null;


sb.append(" DELETE FROM IMP_OEM");
// parList[0] = new String[]{impOem[0].getINS_DATE()};
sql.add(sb.toString());
sb.delete(0, sb.length());

for (int i = 0; i < impOem.length; i++) {
item = impOem[i];

sb.append(" INSERT INTO DPG_IMP_OEM ");
sb.append(" ( ");
sb.append(" MAT_CODE, ");
sb.append(" MAT_NAME, ");
sb.append(" INS_DATE, ");
sb.append(" INS_EMP_CODE, ");
sb.append(" INS_EMP_NAME ");
sb.append(" ) ");
sb.append(" VALUES( ");
sb.append("?, ");
sb.append("?, ");
sb.append("SYSDATE, ");
sb.append("?, ");
sb.append("? ");
sb.append(" ) ");

par = new String[4];
par[0] = StringUtils.trimToEmpty(item.getMAT_CODE());
par[1] = StringUtils.trimToEmpty(item.getMAT_NAME());
par[2] = StringUtils.trimToEmpty(item.getINS_EMP_CODE());
par[3] = StringUtils.trimToEmpty(item.getINS_EMP_NAME());
parList[i+1] = par;

sql.add(sb.toString());
sb.delete(0, sb.length());
}

try {
// 采用参数形式的批处理,避免转义输入内容
batUpdate(sql.toArray(new String[0]), parList);
} catch (Exception e) {
return false;
}

return true;
}

这里的i+1到底应该是多少,i+1?还是什么 还有Length+1 新手菜鸟 求大大帮忙解答下

------解决方案--------------------
i+1就是根据i的变化在加1,因为i在不停的变化的
数组的length属性啊 就是数组的元素个数啊(重0开始算)
建议去买本j2se的基础书看看,或者基础视屏
------解决方案--------------------
i+1就是根据i的变化在加1,因为i在不停的变化的
数组的length属性啊 就是数组的元素个数啊(重0开始算)
建议去买本j2se的基础书看看,或者基础视屏
------解决方案--------------------
for (int i = 0; i < impOem.length; i++) {


i+ 1 
 i = 0 ,i +1 = 1 ;
 i = 1 ,i +1 = 2 ;
根据你的for循环到第几轮,i为第几轮 +1
------解决方案--------------------
parList[i+1] = par;

parList.length <= impOem.length -1 才可以 ,否则会报越界的