本帖最后由 我是你岁哥❤环 于 2016-7-9 13:12 编辑
并发修改异常 ConcurrentModificationException, 这个异常时迭代器对象抛出的,出现的原因是集合中增加了元素到会迭代器预期的迭代次数发生改变,导致迭代器的结果不准确.另外一种解决方式:
从业务逻辑上讲,我们只要找到 "world" 这个元素,至于后面还有多少个元素我们并不关心,所以只需要找到这个元素后跳出循环不在迭代即可
- Iterator it = list.iterator();
- while(it.hasNext()) {
- String str = (String)it.next();
- if(str.equals("world")) {
- list.add("javaee");
- break;
- }
- }
复制代码 在使用break语句跳出循环后,由于没有继续使用迭代器对集合中的元素进行迭代,因此,集合中增加的元素对程序没有任何影响,不会出现异常
|