删除list中的某个元素时会报下列的错误:
java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:449)
at java.util.AbstractList$Itr.next(AbstractList.java:420)
defaultData_.Allitems是一个ArrayList,list中的每一个item都是SampleItem类型的。
更改成如下代码,错误就不会产生
java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:449)
at java.util.AbstractList$Itr.next(AbstractList.java:420)
defaultData_.Allitems是一个ArrayList,list中的每一个item都是SampleItem类型的。
- for (String name : removeNameList) {
- for (SampleItem item : defaultData_.Allitems) {
- if (name.equals(item .name)) {
- defaultData_.Allitems.remove(item );
- }
- }
- }
- for (String name : removeNameList) {
- Iterator<SampleItem> itp = defaultData_.Allitems.iterator();
- while(itp.hasNext()){
- String itpName = itp.next().name;
- if(itpName.equals(name)){
- itp.remove();
- }
- }
- }