public static ArrayList<Job> ready = new ArrayList<Job>();
...later on....
ArrayList<Job> temp = ready;
for (Iterator<Job> iterator = temp.iterator(); iterator.hasNext();) {
Job j = (Job) iterator.next();
if (j.number == number) {
ready.remove(j);
ready.add(j);
system.devices-=devices;
j.devices+=devices;
iterator.remove();
}
}
爲什麼會拋出錯誤?當然,準備好=溫度,但我正在迭代溫度,我沒有改變溫度。我怎樣才能解決這個問題?使用臨時列表時發生ConcurrentModificationException
您試圖在遍歷整個列表時嘗試更改列表。 'temp'和'ready'是同一個列表 - 更改一個會改變另一個。如果您想複製列表,您可以執行'temp = new ArrayList(ready)'。 –
khelwood
發佈關於異常的問題時,必須包含完整的異常堆棧跟蹤,並在代碼中標識引發該異常的行。 –
@khelwood你應該發表你的評論作爲答案。 –