我的代碼(縮減到基本要點如下);當hasNext()
被稱爲最後一次時,它拋出ConcurrentModificationException
- PS-我試過調試它,而且我似乎無法確定如何使其工作。如果我切換remove和add方法,它會起作用,但是如果somethingElse =沒有真正有用的東西,它將刪除唯一的值。迭代器併發修改錯誤(Java)
PS-我知道解決的辦法here的;但我需要它之後去除值增加,這是造成問題的
Iterator<String> itr = something.iterator();
while (itr.hasNext()){
String x = itr.next();
itr.remove();
somethingElse.add(x);
}
編輯 - somethingElse可以的東西或新對象的全部在一起(有這個決定該環路) 這是我第一次後如果它太抽象或者代碼不清晰,請告訴我,我會發布我的完整代碼。
謝謝! :)
你確定'something'和'somethingElse'是兩個不相關的對象嗎? – Codebender
你能澄清什麼是'somethingElse'。循環中發生的每個操作都必須通過迭代器。如果不使用迭代拋出了'ConcurrentModificationException' –
somethingElse可東西(有一個循環,來確定是否somethingElse的東西或新的對象) – JsDart