Skip to content

Java ConcurrentModificationException 异常

🏷️ Java

在对集合的 forEach 操作中操作数据(删除元素)导致了 ConcurrentModificationException 异常。

错误代码:

java
memberActivityInfos.forEach(d -> {
    if (d.getActivityType() == CommonType.Code.ActivityRange.Line) {
        memberActivityInfos.remove(d);
    }
});

可以使用集合自带的 removeIf 函数实现上面的功能:

java
memberActivityInfos.removeIf(d -> d.getActivityType() == CommonType.Code.ActivityRange.Line);