在使用iterator.hasNext()操作迭代器的时候,如果此时迭代的对象发生改变,比如插入了新数据,或者有数据被删除。
则使用会报以下异常:
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
at java.util.HashMap$KeyIterator.next(HashMap.java:828)
if(userList.size()>0){
这样remove(Obj obj)就会发生错误
/*for(UserCustom userCustom:userList){
if(userCustom.getId()==null || "".equals(userCustom.getId())){
userList.remove(userCustom);
}
}*/
更改为此种方式就可以了
for(int i = 0;i<userList.size();i++){
UserCustom userCustom = userList.get(i);
if(userCustom.getId()==null || "".equals(userCustom.getId())){
userList.remove(userCustom);
}
}
}