java.util.ConcurrentModificationExceptionn (null异常由for增强循环嵌套增删引起)

乔欣 Java经验 发布时间:2023-03-11 18:50:07 阅读数:4326 1
下文笔者讲述ConcurrentModificationExceptionn中null异常的错误的处理解决方法分享,如下所示

问题描述

今天在使用Java代码中
   对集合使用增强for循环时
    当对集合进行增删操作
     再遍历时会引起java.util.ConcurrentModificationException: null异常 

原因分析

 
某个线程在Collection上进行遍历时
  通常不允许其他线程修改Collection
  这会导致遍历的结果是不确定的
  当方法检测到集合发生并发修改时
  不允许这种修改
  抛出此异常。

在执行增删操作以后
  集合expectedModCount和modCount的值不一致
  这两个变量的作用都是记录修改次数
   二者不相等,就会抛错。

expectedModCount:
   表示对Arraylist修改次数的期望值
    它的初始值为modCount。

modCount:
  AbstractList类中的一个成员变量

解决方法

方法一:
   使用索引(普通for循环)遍历

方法二:
    使用增强for循环遍历
     增删操作使用迭代器实现
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202303/16785318416003.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者