zoukankan      html  css  js  c++  java
  • java.util.ConcurrentModificationException

    测试线上项目时,不经意发现了这个异常信息。本着程序员该有的精神,跟了一遍代码。

    找到了问题的所在。

    官方对此异常的解释是:当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常。

    系统中代码大意如下:

    for (Iterator iter = list.iterator(); iter.hasNext();) {

      Object o = (Object) iter.next();

      list.remove(o);

    }

    问题就在这个remove上。

    程序正在遍历这个list,但是在遍历时缺试图修改这个list,所以抛出此异常。那么在遍历list的时候,想要删除其中的元素应该怎么办呢。

    list delList = new ArrayList();

    for (Iterator iter = list.iterator(); iter.hasNext();) {

      Object o = (Object) iter.next();

      delList.add(o);

    }

    list.removeAll(delList);

  • 相关阅读:
    第32周二
    第32周一
    第31周日
    第31周六
    第31周五
    第31周四
    第31周三
    C++中this指针的使用方法.
    ArcPad 10 的安装部署
    UEditor用法
  • 原文地址:https://www.cnblogs.com/yimiyan/p/3745901.html
Copyright © 2011-2022 走看看