package list;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class Demo2 {
public static void main(String[] args){
List<String> al=new ArrayList<String>();
al.add("ni");
al.add("hao");
al.add("guo");
al.add("da");
al.add("xia");
ListIterator<String> li=al.listIterator();
while(li.hasNext()){
if((String) li.next()=="hao"){
System.out.println(al);
al.add(2,"ma");
}
}
}
}
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at list.Demo2.main(Demo2.java:17)
[ni, hao, guo, da, xia]
会抛出java.util.ConcurrentModificationException异常
在foreach语句遍历list也是同样的追问
我知道,但是我使用的是ListIterator,这个是可以在遍历时候add的
追答要使用ListIterator.add(Object object)方法添加,不能用List.add()
把al改成li
谢谢了