今天写程序的时候,报了一个错误 :
java.util.ConcurrentModificationException
程序代码为:
List<PageData> list = (List<PageData>) dao.findForList("StudentMapper.distinctXSH", null);
for (PageData pageData : list) {
String name = pageData.getString("name");
if(name==null){
list.remove(pageData);
}
}
然后百度一下说是,在遍历list集合的时候,若是增加或者删除了集合中的元素,真会引起这个异常。
解决:
Iterator<PageData> it = list.iterator();
while(it.hasNext()){
PageData pageData = it.next();
String name = pageData.getString("name");
if(name==null){
it.remove();
}
}
改用jdk自带的遍历方式,该接口实现了删除的方法,成功解决!