我有一个 ListIterator<PointF>
的列表作为类字段。我用方法填grow()
.当我尝试使用此列表中的迭代器时,我得到 ConcurrentModificationException
.
ListIterator<ListIterator<PointF>> i = mPoints.listIterator();
while (i.hasNext()) {
ListIterator<PointF> j = i.next();
if (j.hasNext())
PointF tmp = j.next(); // Exception here
}
我不知道为什么这段代码会在之外的任何方法中导致异常grow()
最佳答案
如果基础列表发生变化,则在此之前获得的迭代器将抛出 ConcurrentModificationException
。所以不要在实例字段中存储迭代器。
关于Java:无法更改迭代器列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4172685/