黑马程序员技术交流社区

标题: 为什么会报错 [打印本页]

作者: yunmu    时间: 2016-4-27 11:23
标题: 为什么会报错

        public static void main(String[] args) {
                List list = new ArrayList();
                list.add("a");                                                                       
                list.add("b");
                list.add("c");
               
                Iterator it = list.iterator();                                       
                while(it.hasNext()) {                                                       
                        String str = (String)it.next();                               
                        if("b".equals(str)) {
                                list.add("d");                                               
                        }
                }
}
作者: Lihongjie    时间: 2016-4-27 11:59
if("b".equals(str)) {
       list.add("d");                                                
}
迭代器遍历集合时,不能用集合中的方法去增加或删除元素,否则会出现并发修改异常,你可以使用List集合特有的迭代器ListIterator,使用迭代器里的方法就增加或删除集合元素




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2