java.util.ConcurrentModificationException异常处理
2011-12-09 16:09
465 查看
测试程序时,报java.util.ConcurrentModificationException异常。google后发现,是由于Iterator表示的哈希表变化造成的,代码如下:
解决方法是,避免多个地方同时操作hash对象,如果必须这样,就加个lock判断:
Iterator<Entry<?, ?>> iterator = hash.entrySet(); while (iterator.hasNext()) { ...... }在执行过程中,其他部分执行了hash.put或hash.remove,造成hash变化,这样就出现该异常了。另外,使用iterator.remove()可以直接删除当前项。
解决方法是,避免多个地方同时操作hash对象,如果必须这样,就加个lock判断:
if (!isLocking()) 执行
相关文章推荐
- java.util.ConcurrentModificationException异常处理
- java.util.ConcurrentModificationException异常处理
- java.util.ConcurrentModificationException异常处理方式
- java.util.ConcurrentModificationException异常分析及处理
- java.util.ConcurrentModificationException异常的处理
- java.util.ConcurrentModificationException异常处理
- Java中的java.util.ConcurrentModificationException异常
- java.util.ConcurrentModificationException异常
- java.util.ConcurrentModificationException 异常的解决方法
- android细节之java.util.ConcurrentModificationException异常
- 为什么会出现 java.util.ConcurrentModificationException 异常?
- java.util.ConcurrentModificationException异常详解
- 在Map或者Collection的时候,不要用它们的API直接修改集合的内容(否则会出现 java.util.ConcurrentModificationException 异常)
- 遍历集合时出现的异常Exception in thread "main" java.util.ConcurrentModificationException
- 从ArrayList中删除对象报java.util.ConcurrentModificationException异常解决
- 【异常篇-java-java.util.ConcurrentModificationException】
- java.util.ConcurrentModificationException异常 分析
- Collection 或 Map 进行迭代操作抛出 java.util.ConcurrentModificationException 异常
- 异常:java.util.ConcurrentModificationException
- java.util.ConcurrentModificationException的异常的出现与解决