异常:java.util.ConcurrentModificationException 在Map或者Collection的时候,不要用它们的API直接修改集合的内容,如果要修改可以用Iterator的remove()方法,例如: public void setReparation( Reparation reparation ) { for (Iterator it = this.reparations.iterator();it.hasNext();){ //reparations为Collection Reparation repa = (Reparation)it.next(); if (repa.getId() == reparation.getId()){ this.reparations.remove(repa); this.reparations.add(reparation); } } } 如上写会在运行期报ConcurrentModificationException,可以如下修改: public void setReparation( Reparation reparation ) { boolean flag = false; for (Iterator it = this.reparations.iterator();it.hasNext();){ //reparations为Collection Reparation repa = (Reparation)it.next(); if (repa.getId() == reparation.getId()){ it.remove(); flag = true; break; } } if(flag){ this.reparations.add(reparation); } } 具体可以参考:http://gceclub.sun.com.cn/yuanchuang/week-14/iterator.html |
……
【阅读全文】