在对list 或者map对象操作是报出了java.util.ConcurrentModificationException异常,可能我们能查出来是因为在使用对象的时候对对象进行了操作,对象已经不是以前的对象,但是之前的方法还不知道,所以就报出了这个异常。
解决这个问题的办法,也许我们能想出来,就是多创建一个对象,让它跟要改动的对象内容相同,然后遍历这个不改动的对象。大多数人应该可以想到这一步,但是问题在于如何生成这样相同内容的对象,= 明显不能满足要求,最多只是让同一个对象多了一个名称而已,还是回报那个异常,这时候就是体现对象的addall方法的时候了。你才会发现用addall 原来还有这个功能。。
程序如下:
List<String> removedMessages =new ArrayList<Item>;
removedMessages.addAll( player.getMessages())
for(Message message :removedMessages)
分享到:
相关推荐
java.util.ConcurrentModificationException 异常问题详解1
java.util.ConcurrentModificationException 解决方法 在使用iterator.hasNext()操作迭代器的时候,如果此时迭代的对象发生改变,比如插入了新数据,或者有数据被删除。 则使用会报以下异常: Java.util....
主要介绍了出现java.util.ConcurrentModificationException 问题及解决办法的相关资料,需要的朋友可以参考下
Map在遍历时候通常 现获得其键值的集合Set,然后用迭代器Iterator来对Map进行遍历。
Spring数据mongodb测试 在Collections.synchronizedList或Collections.synchronizedSet上测试spring数据mongodb ConcurrentModificationException
java.util.ConcurrentModificationException: mutation occurred during iteration [error] scala.collection.mutable.MutationTracker$.checkMutations(MutationTracker.scala:43) [error] scala.collection....
java中,List在遍历的时候,如果被修改了会抛出java.util.ConcurrentModificationException错误。 看如下代码: import java.util.ArrayList; import java.util.List; public class Resource3 { public ...
简述synchronized和java.util.concurrent.locks.Lock的异同 ? 34.EJB规范规定EJB中禁止的操作有哪些? 35.java除了8种基本类型外,在虚拟机里还有哪一种,有什么作用? 36.除了使用new关键字创建对象意外,试列举...
java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 6、说出Servlet的生命周期,并说出Servlet和CGI的区别。 Servlet被服务器实例化后,容器运行其init方法,...
java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 9、说出Servlet的生命周期,并说出Servlet和CGI的区别。 Servlet被服务器实例化后,容器运行其init方法...