java.util.ConcurrentModificationException

来源:互联网 发布:淘宝基金如何赎回 编辑:程序博客网 时间:2024/06/01 07:22

遇到了这个错,虽然源码看不懂,可是大概意思就是:在循环list的时候,执行了remove()方法,在接着进行下一次循环的时候,由于执行了remove方法导致被循环的list长度减一,而for循环的i没有相应的减一。于是出现了不对称。

小编的错误情况是:

for (AllpyTelCheckRedItem item : choiceCheckList) {if(item==null){continue;}if(StringUtils.isBlank(item.getResult()) || StringUtils.isBlank(item.getAskContent())){choiCheckList.remove(item);if(choiCheckList==null || choiCheckList.size()==0){break;}}}



修改之后

for (int i=0;i<choiceCheckList.size();i++) {if(choiceCheckList.get(i)==null){continue;}if(StringUtils.isBlank(choiceCheckList.get(i).getResult()) || StringUtils.isBlank(choiceCheckList.get(i).getAskContent())){choiceCheckList.remove(choiceCheckList.get(i));i--;if(choiceCheckList==null || choiceCheckList.size()==0){break;}}}


原创粉丝点击