java - 集合List remove 报错 ConcurrentModificationException

1.原因

看代码

 

 执行后删除指令后报错

为什么?

原因是

索引值变了,集合List里存在Iterator的属性,remove方法修改了size和modCount属性,但是Itr中的这cursor、expectedModCount却没有发生变化,
当增强for循环再次执行的时候,调用的却是Itr中的方法,最终发现了数据不一致,因此报错

2.解决

在循环为删除即可

 

posted @ 2022-09-21 11:07  岑惜  阅读(104)  评论(0)    收藏  举报