部分代码:
01 | List<StationeryApplyDetail> listClass = Lists.newArrayList(); |
02 | for (StationeryApplyDetail s : list){ |
03 | if (listClass.size()!= 0 ){ |
04 | for (StationeryApplyDetail sa : listClass){ |
05 | if (s.getStationeryID().getId()!=sa.getStationeryID().getId()){ |
我只知道是迭代出了问题,但不知道该怎样修改代码
01 | java.util.ConcurrentModificationException |
02 | at java.util.ArrayList$Itr.checkForComodification(Unknown Source) |
03 | at java.util.ArrayList$Itr.next(Unknown Source) |
04 | at com.esj.www.web.departmentofmanagent.PurchaseApplyMainAction.collect(PurchaseApplyMainAction.java: 224 ) |
05 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) |
06 | at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) |
07 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) |
08 | at java.lang.reflect.Method.invoke(Unknown Source) |
09 | at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java: 452 ) |
10 | at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java: 291 ) |
11 | at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 254 ) |
0
不要用 for(xxx : xxx) 这种循环方式,用 for(int i=0;i<listClass.size();i++) 这种就没事