使用List遇到的题
在使用List的时,不要在foreach循环中不要对List元素进行add/remove操作。 如果你使用的话,非常有可能会报错Java.util.ConcurrentModificationException
错误原因
调用list.remove()方法导致modCount和expectedModCount的值不一致。
如果你想要使用 要使用它的迭代器Iterator,用在多线程需要对Iterator对象加锁即可。
Iterator iterator = list.iterator();
while(iterator.hasNext()){
Integer integer = iterator.next();
if(integer==2)
iterator .remove(integer); //注意这个地方
}
本文探讨了在Java中使用List时的一个常见问题:在foreach循环中直接对List元素进行add/remove操作可能导致Java.util.ConcurrentModificationException异常。文章详细解释了错误产生的原因,并提供了一个正确的示例,展示了如何通过Iterator来安全地移除元素。
8万+

被折叠的 条评论
为什么被折叠?



