【发布时间】:2011-11-07 08:28:03
【问题描述】:
在下面的代码中
// Assume there are non-null string arrays arrayA and arrayB
// Code 1
ArrayList<String[]> al = new ArrayList<String[]>();
String[] tmpStr = new String[2];
for (int ii = 0; ii < arrayA.length; ii++) {
tmpStr[0] = arrayA[ii];
tmpStr[1] = arrayB[ii];
al.add(ii, tmpStr);
}
// Code 2
ArrayList<String[]> al = new ArrayList<String[]>();
for (int ii = 0; ii < arrayA.length; ii++) {
String[] tmpStr = new String[2];
tmpStr[0] = arrayA[ii];
tmpStr[1] = arrayB[ii];
al.add(ii, tmpStr);
}
代码 2 给出了想要的结果——也就是说,现在 al 的每个索引都包含 {arrayA(ii), arrayB(ii)}。然而,在代码 1 中,al 包含 {arrayA(last_index), arrayB(last_index)} 的所有索引。这是为什么?
【问题讨论】:
标签: java arrays string arraylist