Java : java.util.ConcurrentModificationException

在删除 List 元素的时候,要用 Iterator,不要直接遍历 List,否则会出现 Fatal Exception: java.util.ConcurrentModificationException。

 

错误 ❌

for (String str : myArrayList) {
        if (someCondition) {
            myArrayList.remove(str);
        }
}

 

正确做法 ✅

Iterator<String> iter = myArrayList.iterator();

while (iter.hasNext()) {
    String str = iter.next();

    if (someCondition)
        iter.remove();
}

 

posted @ 2016-05-18 17:22  davesuen  阅读(175)  评论(0编辑  收藏  举报