我们先看下面的代码
public class Demo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()){
String next = iterator.next();
if (next.equals("C")) {
list.add("D");
}
System.out.println("next: "+next);
}
}
}
上面的代码会抛出
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
at java.util.ArrayList$Itr.next(ArrayList.java:851)
at Demo.main(Demo.java:25)
本文通过一个具体的Java示例,展示了在遍历集合过程中进行元素添加操作时如何触发`ConcurrentModificationException`并发修改异常,并解释了该异常产生的原因。
1万+

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



