0

我正在用 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 List<Entity> stillEntities = new ArrayList<>();

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 不允许在迭代时修改列表,但我还没有想出其他方法来将新实体 Bomb 添加到游戏中。我能做些什么来避免ConcurrentModificationException

4

0 回答 0