我知道有很多与此异常相关的问题。即使我在Getting ConcurrentException when working with list之前也问过这个问题,并且解决方案是使用ListIterator
而不是迭代器。在我的下面的程序中,我使用ListIterator
,但我仍然得到了这个例外。线程“main”中出现异常java.util.ConcurrentModificationException
我真的不明白为什么我得到这个例外。任何人都可以帮我解决这个问题吗?
public static void main(String args[]) {
List<String> myList = new ArrayList<String>();
myList.add("1");
myList.add("2");
myList.add("3");
myList.add("4");
myList.add("5");
List<String> myList_1 = new ArrayList<String>();
myList_1.add("4");
myList_1.add("6");
ListIterator<String> it = myList.listIterator();
mainLoop:
while(it.hasNext()) {
String internalAperture = it.next();
System.out.println("Aperture:"+internalAperture);
String refreneceNumber = internalAperture;
if (refreneceNumber.equals("6")) {
myList.add("6");
break;
}
else {
ListIterator<String> it_ = myList_1.listIterator();
while(it_.hasNext()) {
String a = it_.next();
myList.add(a);
continue mainLoop;
}
}
}
}
我不不要以为你明白'ListIterator'是什么。你不应该有'myList.add(“6”);'。 [让'ListIterator'做到这一点](https://docs.oracle.com/javase/8/docs/api/java/util/ListIterator.html#add-E-)! – Tunaki