删除集合元素时务必使用迭代器
遍历集合删除元素
1、绝对错误的方式
List list = xxxService.getAll();for(Object obj : list ){ list.remove(obj ); //此方式必然导致ConcurrentModificationException}2、使用Iterator重构,但不够彻底,出现同样的异常,却难以排查。?
List list = xxxService.getAll();for(Iterator objIter = list.iterate();obj.hasNext(); ){ list.remove(obj ); //此方式也导致ConcurrentModificationException}?3、使用迭代子删除方式
List list = xxxService.getAll();for(Iterator objIter = list.iterate();obj.hasNext(); ){ objIter .remove(); //终于尼玛搞定}?