刚开始接触遇到一个基础问题:在for循环中删除元素。抛出的异常是"java.util.ConcurrentModificationException"。此处梳理总结一下.
1、模拟异常
@Test
public void testException() {
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("e");
for (String str : list) {
// 当第一个元素被删除后,此处会抛出异常
if ("c".equals(str)) {
list.remove("c");
}
}
}
执行后抛出异常:
java.util.ConcurrentModificationException
at java.util.ArrayList Itr.checkForComodification(ArrayList.java:901)
at java.util.ArrayList Itr.next(ArrayList.java:851)
at sometest.loop.IteratorDemo.testException(Ite