问题遇到的现象和发生背景
泛型是map的list 集合遍历时候,map.put一个参数,后面报错,请问下如何解决这个问题
问题相关代码,请勿粘贴截图
List<Map<String, Object>> list =commonRepository.findSqlCall(sb.toString(), params.toArray());
Iterator<Map<String, Object>> iterator = list.iterator();
while (iterator.hasNext()){
Map map = iterator.next();
if (map.get("yyid") != null && StringUtils.isNotEmpty(map.get("yyid").toString()) && StringUtils.isNotEmpty(map.get("yyid").toString())) {
map.put("yybs", Integer.valueOf(1));
} else {
map.put("yybs", Integer.valueOf(0));
}
list.add(map);
}
运行结果及报错内容
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
at java.util.ArrayList$Itr.next(ArrayList.java:851)
at com.jmz.bl.service.impl.MzBrblServiceImpl.queryNoSubmitBl(MzBrblServiceImpl.java:199)
at com.jmz.bl.service.impl.MzBrblServiceImpl$$FastClassBySpringCGLIB$$199b2dd9.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:684)
at com.jmz.bl.service.impl.MzBrblServiceImpl$$EnhancerBySpringCGLIB$$b75778eb.queryNoSubmitBl()
at com.jmz.bl.biz.impl.MzBrblBizImpl.queryNoSubmitBl(MzBrblBizImpl.java:1266)