我的代码(缩减到基本要点如下);当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