【发布时间】:2016-06-03 03:53:40
【问题描述】:
我有一些来自游戏的 Scala 代码,旨在在 mutable.ArrayBuffer、gameobjects 中的每个 GameObject 实例上调用 onInteract(gameData: GameData, player: Player) 方法。但是,有时这些GameObjects 会使用代码gameobjects -= this 从ArrayBuffer 中删除自己。由于这改变了ArrayBuffer,Scala 抛出了NullPointerException。可以认为代码类似于以下内容:
for (gameobject <- gameobjects) {
if (/* some condition */) gameobjects -= gameobject
}
并且每当删除对象时都会引发异常。
我该如何解决这个问题?我想ArrayBuffer 或至少for 循环在这里不合适。
【问题讨论】:
标签: scala for-loop arraylist arraybuffer