java.util.ConcurrentModificationException异常

近日在做一个Hibernate 删除一个Set集合操作的时候,需要Iterator遍历一下Set集合对符合条件的的对象进行删除,使用Set.remove(object); 再Iterator.next()遍历的时候会报java.util.ConcurrentModificationException异常,后经查找使用Iterator.remove()可以,下面是示例代码:

Set privilegeSet = role.getPrivileges();   //返回一个Set
Iterator it = privilegeSet.Iterator();
while(it.hasNext()){
   Privilege p = (Privilege)it.next();
   if(判断条件){
         privilegeSet.remove(p);
   }
}
修改后:
Set privilegeSet = role.getPrivileges();   //返回一个Set
Iterator it = privilegeSet.Iterator();
while(it.hasNext()){
   Privilege p = (Privilege)it.next();
   if(判断条件){
        it.remove();
   }
}

你可能感兴趣的:(java,Hibernate)