java.util.ConcurrentModificationException异常处理

    测试程序时,报java.util.ConcurrentModificationException异常。google后发现,是由于Iterator表示的哈希表变化造成的,代码如下:
Iterator> iterator = hash.entrySet();
while (iterator.hasNext()) {
  ......
}
在执行过程中,其他部分执行了hash.put或hash.remove,造成hash变化,这样就出现该异常了。另外,使用iterator.remove()可以直接删除当前项。
    解决方法是,避免多个地方同时操作hash对象,如果必须这样,就加个lock判断:
if (!isLocking())
  执行


你可能感兴趣的:(java,iterator,google,测试)