zoukankan      html  css  js  c++  java
  • Java ConcurrentModificationException异常原因和解决方法

    注:更详细https://blog.csdn.net/androidboy365/article/details/50540202/

    不要在 foreach 循环里进行元素的 remove/add 操作。remove 元素请使用 Iterator 方式,如果并发操作,需要对 Iterator 对象加锁。 反例:

    List<String> a = new ArrayList<String>();

    a.add("1"); a.add("2");

    for (String temp : a)

    {  if("1".equals(temp))

      { a.remove(temp); }

    }

    说明:以上代码的执行结果肯定会出乎大家的意料,那么试一下把“1”换成“2”,会是同样的 结果吗?

    正例:

    Iterator<String> it = a.iterator();

    while(it.hasNext())

    { String temp = it.next();

    if(删除元素的条件)

    { it.remove(); }

    }

  • 相关阅读:
    Python
    Python 学习之路
    Python 学习之路
    Python 学习之路
    Python 学习之路
    Python 学习之路
    Python 学习之路
    Python学习之路
    Python 学习之路
    Python 学习之路
  • 原文地址:https://www.cnblogs.com/zyf-yxm/p/9015260.html
Copyright © 2011-2022 走看看