Java ConcurrentModificationException万能解决方案
来源:互联网 发布:u盘查杀软件 编辑:程序博客网 时间:2024/06/05 07:59
在遍历集合的时候,满足条件的话,需要删除当前元素和相关元素,就容易出现这种错误
for (ChangeResultIncome oldRi : newResultIncome) { if (oldRi.getLineStatus().equals(AITypeEnum.OFFSET.getCode())) { inner:for (ChangeResultIncome newRi : newResultIncome) { if(oldRi.exactMatchCC(newRi) && oldRi.getBeginDate().compareTo(newRi.getBeginDate())==0 && oldRi.getEndDate().compareTo(newRi.getEndDate())==0 && oldRi.getAmount() == 0-newRi.getAmount() && newRi.getLineStatus().equals(AITypeEnum.NEW.getCode())){ newResultIncome.remove(oldRi); newResultIncome.remove(newRi); break inner; } } } }
解决方案为:将需要删除的元素存到一个集合中,最后再统一删除
List<ChangeResultIncome> deleteList = new ArrayList<>(); for (ChangeResultIncome oldRi : newResultIncome) { if (oldRi.getLineStatus().equals(AITypeEnum.OFFSET.getCode())) { inner:for (ChangeResultIncome newRi : newResultIncome) { if(oldRi.exactMatchCC(newRi) && oldRi.getBeginDate().compareTo(newRi.getBeginDate())==0 && oldRi.getEndDate().compareTo(newRi.getEndDate())==0 && oldRi.getAmount() == 0-newRi.getAmount() && newRi.getLineStatus().equals(AITypeEnum.NEW.getCode())){ deleteList.add(oldRi); deleteList.add(newRi); break inner; } } } } newResultIncome.removeAll(deleteList);
阅读全文
0 0
- Java ConcurrentModificationException万能解决方案
- java.util.ConcurrentModificationException解决方案
- java.util.ConcurrentModificationException解决方案
- java.util.ConcurrentModificationException 解决方案
- java.util.ConcurrentModificationException的解决方案
- java.util.ConcurrentModificationException的解决方案
- java java.util.ConcurrentModificationException 原因以及解决方案
- java java.util.ConcurrentModificationException 原因以及解决方案
- ConcurrentModificationException解决方案
- Java ConcurrentModificationException 异常分析与解决方案
- Java ConcurrentModificationException 异常分析与解决方案
- Java ConcurrentModificationException 异常分析与解决方案
- Java ConcurrentModificationException 异常分析与解决方案
- Java ConcurrentModificationException 异常分析与解决方案
- java.util.ConcurrentModificationException异常及解决方案
- Java ConcurrentModificationException 异常分析与解决方案
- Java ConcurrentModificationException 异常分析与解决方案
- (转)Java ConcurrentModificationException 异常分析与解决方案
- sdfsdf
- RPC概念
- vps_使用docker及shadowsocks镜像
- 手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)
- Java虚拟机和Dalvik(android)虚拟机的区别
- Java ConcurrentModificationException万能解决方案
- QT中的信号与槽
- MP3,MP4,音视频播放
- 正则密码验证,包含数字、字母、特殊符号
- 记录:第一次使用ajax
- Atl 重载 objsafe接口
- git上传本地Intellij idea 项目到git
- Spark-基本概念和简介
- 微信模板推送