#java #concurrentmodificationexception
#Ява #исключение concurrentmodificationexception
Вопрос:
Я создаю игру на Java, в которой бомба сбрасывается всякий раз, когда я попадаю space
:
if (key == KeyEvent.VK_SPACE) { Bomb bomb = new Bomb(xx, yy, ID.Bomb); handler.addStillEntity(bomb); }
Вот мой код для изменения списка в Handler.java
:
public void addStillEntity(Entity entity) { stillEntities.add(entity); }
stillEntities
это список:
public Listlt;Entitygt; stillEntities = new ArrayListlt;gt;();
Проблема в том, что у меня render()
запущен метод отображения игры при изменении списка:
public void render(Graphics g) { for (Entity entity : stillEntities) { // line 21 entity.render(g); }
Строка 21-это то, где я получил Exception in thread "Thread-0" java.util.ConcurrentModificationException
. Я знаю, что Java не позволяет изменять список во время его повторения, но я не придумал других способов добавить в игру новую бомбу сущности. Чего я могу сделать, чтобы избежать ConcurrentModificationException
?