<分区>
使用以下代码将导致 java.util.ConcurrentModificationException
final AnimationTimer timer = new AnimationTimer() {
@Override
public void handle(long timestamp) {
for (ListIterator<myCircle> List = CircleList.listIterator(); List.hasNext(); ) {
myCirle check = List.next();
if (CheckCollisionFunction(check) == true) {
this.stop();
CircleList.clear();
gameOverFunction();
}
}
}
}
所以我使用迭代器来检查我的圈子是否与我的玩家圈子发生冲突。
当我清除列表时:
CircleList.clear();
我得到异常。
java.util.ConcurrentModificationException
这是当您在使用迭代器时有时会在迭代器外部删除。有人可以告诉我如何使用迭代器删除列表中的所有内容吗?
或者另一种方法来阻止这个错误。
这是我的 list 。
private final ObservableList<myCircle> CircleList = FXCollections.observableArrayList();