我有一個形式爲ArrayList al的ArrayList數組,我有一個正常的ArrayList al_1。我在代碼中的某處清除了al_1,但在清除之前,我使用al.put(al_1)將al_1放入了al。但是當我清除al_1時,即使al被清除。可能是什麼原因或我的方法是錯誤的?當我清除集合時,它會清除其他集合的內容以及爲什麼?
ArrayList<String> previousAction = new ArrayList<String>();
ArrayList<Double> arrayServerTimeInSecond = new ArrayList<Double>();
ArrayList<String> uniqueActions = new ArrayList<String>();
ArrayList<ArrayList<Double>> al = new ArrayList<ArrayList<Double>>();
while (itr.hasNext()) {
// create a row
String[] data = itr.next().toString().split(",");
row = sheet.createRow((short) rowCount++);
// write data into cells
for (int j = 0; j < data.length; j++) {
if (notHeader == true) {
if (j == 3) {
previousAction.add(data[j]);
actionCount++;
}
if (j == 16) {
if (previousAction.size() == 1) {
arrayServerTimeInSecond.add(Double.valueOf(data[j]));
uniqueActions.add(data[3]);
} else if (previousAction.size() > 1) {
if (previousAction.get(actionCount - 2).equals(data[3])) {
arrayServerTimeInSecond.add(Double.valueOf(data[j]));
} else {
al.add(uniqueActions.size()-1, arrayServerTimeInSecond);
arrayServerTimeInSecond.removeAll(arrayServerTimeInSecond);
arrayServerTimeInSecond.add(Double.valueOf(data[j]));
uniqueActions.add(data[3]);
}
}
}
}
cell = row.createCell((short) cellCount++);
cell.setCellValue(data[j]);
}
cellCount = 0;
notHeader = true;
}
and at 3 line當我向al_1添加一個值時,它甚至會反映al,它將包含al_1中的數據?請建議我。謝謝
請你能複製整個類或方法? –
我懷疑你的變量al_1與al –