标题: 请教,看代码,下面错在哪里了? [打印本页] 作者: 一江夜雨 时间: 2015-11-23 23:31 标题: 请教,看代码,下面错在哪里了? class Demo {
public static void main (String[] args) {
List list = new ArrayList();
list.add("JavaSE");
list.add("JavaWeb");
list.add("JavaEE");
list.add("JavaEE");
for (Iterator it = list.iterator(); it.hasNext(); ) {
String str = (String)it.next();
if ("JavaWeb".equals( str )) {
list.add("Android");
}
}
System.out.println( list );
}
}作者: lingyuezhixing 时间: 2015-11-23 23:44
迭代器在操作集合的时候,不能再用集合的方法来操作集合,否则会不安全。
建议改为ListIterator 迭代器,通过ListIterator 中的方法进行添加元素,作者: 晚睡晚起的 时间: 2015-11-23 23:54
用集合的迭代器的时候添加元素会产生并发修改异常 ,用list里的迭代器才能正常.