问题:java.util.concurrentmodificationexception

背景:java thread

网上找到的出现的例子如下(项目中真实的code不便给出)

public class Test()

   {
private ArrayList<A> abc = new ArrayList<A>(); public void doStuff()
{
for (A a : abc)
a.doSomething();
} public void removeA(A a)
{
abc.remove(a);
  }
}

a.doSomething might call Test.removeA();

转载自 StackOverFlow

首先说明错误的意思:

concurrent 同时发生  modification 修改

在迭代的同时,list被其他线程或程序修改了。

解决的方法:

有几种,可以在网上查找,我选择的是 将list复制,迭代复制后的新的list

 private ArrayList<A> abc = new ArrayList<A>();
ArrayList<A> tempList = new ArrayList<A>(abc);
 public void doStuff()
{
for (A a : tempList)
a.doSomething();
} 这样问题便可解决,欢迎拍砖! 解决问题的时候建议多查google,国内上google要用VPN翻墙,此外登录美国google的时候,网址如下:www.google.com/ncr 要加上/ncr no country redirect

java exception 01的更多相关文章

  1. myeclipse启动tomcat会出现 a java exception has occured错误 的解决方法

    在浏览器中可以打开tomcat,结果在myeclipse启动tomcat会出现 a java exception has occured错误 ,之后出现一个Classloader.class的文件,关 ...

  2. eclipse启动tomcat错误:A Java Exception has occurred

    在tomcat bin目录下执行startup.bat可以正常启动,但在eclipse下安装了tomcat插件并且配置tomcat路径后启动且报错:A Java Exception has occur ...

  3. eclipse启动tomcat错误:A Java Exception has occurred(转)

    在tomcat bin目录下执行startup.bat可以正常启动,但在eclipse下安装了tomcat插件并且配置tomcat路径后启动且报错:A Java Exception has occur ...

  4. Java学习01

    Java学习01 第一章 1.JRE与JDK JDK(JAVA Develop Kit,JAVA开发工具包)提供了Java的开发环境和运行环境,主要用于开发JAVA程序,面向Java程序的开发者; J ...

  5. CTFCrackTools在Windows下显示A Java Exception has occurred的解决方案

    打CTF做密码学的人一定少不了用这个工具,CTFCrackTools,这个几乎可以号称密码学的神器,但是呢,最近博主遇到了一些麻烦事,每次打开的时候都是显示A Java Exception has o ...

  6. [Java 教程 01] Hello,Java!

    前言 从事编程已经有一段时间了,突然发现,Java作为我的第一编程语言,自己似乎对她并有一个系统的思想.当下Java依旧保持着超高的热度,新特性也不断出现,从当初学习的java6版本到最近刚出的jav ...

  7. java基础 01

    java基础01 1. /** * JDK: (Java Development ToolKit) java开发工具包.JDK是整个java的核心! * 包括了java运行环境 JRE(Java Ru ...

  8. Exception (2) Java Exception Handling

    The Java programming language uses exceptions to handle errors and other exceptional events.An excep ...

  9. Kettle 7启动 Spoon.bat 时报错“A Java Exception has occurred.”的解决方法

    最近在研究Kettle 时出现启动时报错“A Java Exception has occurred.”的问题.刚开始没搞明白是什么原因,后来发现是jdk版本的问题.出现这个错误原因是 Kettle ...

随机推荐

  1. [HDU1890]RoboticSort

    Problem 每次找到最小值,然后把它和它前面的数翻转,然后找第二小数······ 然后输出这些数的下标. Solution 用splay维护,每次找到最小值,然后翻转前面区间. Notice 细节 ...

  2. Linux系统命令行中vim编辑器取消高亮显示

    由于在使用vim编辑代码的时候不小心忘记首先输入i(insert)模式,导致写的代码出现了棕黄色的阴影显示 摸索了很久终于找到了解决方法: 1.退出vim编译器 2.在在命令行下输入:nohl,回车 ...

  3. Linux下安装微信(转)

    扩展:https://www.cnblogs.com/dunitian/p/9124806.html 安装过程如下: 1.下载最新版本tar.gz压缩包https://github.com/geeee ...

  4. SharePoint REST API - 基本操作(一)

    博客地址:http://blog.csdn.net/FoxDave 本文讲述如何应用SharePoint的REST接口完成基本的增删查改操作. 使用SharePoint客户端API和REST服务进 ...

  5. python模块大全

    python模块大全2018年01月25日 13:38:55 mcj1314bb 阅读数:3049 pymatgen multidict yarl regex gvar tifffile jupyte ...

  6. mysql取差集、交集、并集

    mysql取差集.交集.并集 博客分类: Mysql数据库 需求:从两个不同的结果集(一个是子集,一个是父集),字段为电话号码phone_number,找出父集中缺少的电话号码,以明确用户身份. 结合 ...

  7. Java使用HttpClient上传文件

    Java可以使用HttpClient发送Http请求.上传文件等,非常的方便 Maven <dependency> <groupId>org.apache.httpcompon ...

  8. G++ C++之区别

    1.遇到精度用C++ 2.G++内存超限,C++过了 其他都用G++

  9. 渲染Web视图

    Spring MVC定义了一个名为ViewResolver的接口 public interface ViewResolver{ View resolveViewName(String viewName ...

  10. quartz 应用

    quartz api地址:http://www.quartz-scheduler.org/api/2.2.0/ 根据需求选择quartz调度方案: 1,如果调度时间是固定不变的,可以选择静态调度 2, ...