原码:
public List findGroupsByCid(String cid) throws Exception {
List groupList = new ArrayList();
groupList = gdao.findGroupsByCid(cid);
//count account in this group's number
Iterator it = groupList.iterator();
while (it.hasNext()) {
Group group = (Group) it.next();
List aglist=new ArrayList();
aglist=agdao.findByGid(group.getGid());
Iterator it1=aglist.iterator();
while (it1.hasNext()) {
Agmapping agmapping = (Agmapping) it1.next();
Account account=adao.findByAid(agmapping.getAid());
if(null==account||null==account.getAid()||"".equals(account.getAid())){
aglist.remove(agmapping);
}
}
group.setPcount(aglist.size());
}
return groupList;
}
出现java.util.ConcurrentModificationException 异常,解决办法:
将红色区域的代码换成:it1.remove();
本文介绍了一个在迭代过程中删除元素导致的java.util.ConcurrentModificationException异常案例,并提供了具体的解决方案。
612

被折叠的 条评论
为什么被折叠?



