Я не понимаю, почему этот метод вызывает исключение:Странное поведение ConcurrentModificationException
public void add(Object obj){
gameObjects.add(obj); //here the exception happens
}
... в то время как это один не делает:
public void add(Object obj){
gameObjects.add(obj); // no exception actually happens here
gameObjects.remove(obj);
}
Почему это происходит, учитывая, что это это исключение времени выполнения?
Исключение:
Exception in thread "Thread-0" java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
at java.util.ArrayList$Itr.next(Unknown Source)
at threads.Main.tick(Main.java:181)
at threads.Main.run(Main.java:104)
Метод вызывается для метода клеща внутри объекта.
gameObjects
не равно нулю:
List<Object> gameObjects = new ArrayList<Object>(128);
Это не достаточно информации. Во-первых, что такое исключение. Кроме того, каков контекст этих вызовов? Кто называет код и как? –
Какой тип gameObjects? – Cemafor
Что такое 'gameObjects'? Это нулевое значение? – NINCOMPOOP