執行此代碼時出現ConcurrentModificationException異常。我無法弄清楚它爲什麼會發生?Java中的併發修改異常
private void verifyBookingIfAvailable(ArrayList<Integer> list, int id) {
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
int value = iterator.next();
if (value == id) {
int index = list.indexOf(id);
if (index != -1) {
list.remove(index);
}
}
}
}
在此先感謝。
你的代碼似乎完全等同於'(list.remove(Integer.valueOf(ID))),同時,除非我失去了'東西... – assylias
@assylias。那麼,你不會錯過任何東西。你絕對正確。根本不需要重複。很好的抓住:) –
@RohitJain只需確保調用'remove(Object)'而不是'remove(int)'。 – assylias