【发布时间】:2016-05-13 06:25:55
【问题描述】:
如果我取消注释行 list.add("3"),则会引发 ConcurrentModificationException。对于两个元素它工作正常并且对于 1 或 3 个元素抛出异常?对此行为有何解释?
import java.util.*;
public class ConException {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
//list.add("3");
for(String x: list){
list.remove("1");
}
System.out.println(list);
}
}
【问题讨论】:
-
如果要删除,请使用索引删除,即 list.remove(list.indexOf(0);
-
@holidayCoder 在这种情况下也不行。
-
@user6328922 查看此链接 - journaldev.com/378/…