我正在尝试修复此问题,但无论如何我都无法修复。有人能帮助我吗?
for(Iterator<Block> iterator = event.blockList().iterator(); iterator.hasNext();)
{
Block b = iterator.next();
if (((RegiaoCuboid) r).contains(b))
event.blockList().remove(b);
}
答案 0 :(得分:3)
使用迭代器删除:
iterator.remove();
当集合以一种使打开的迭代器无效的方式更改时,抛出ConcurrentModificationException
。在这种情况下,您直接在集合上调用remove
。
答案 1 :(得分:-2)
迭代时不能修改List。我建议将你想删除的块添加到一个新列表中,然后迭代它并从主列表中删除它们(编辑:或者,做另一个人说的那样)。另外,如果你正在做我认为你的事情,我会建议在Bukkit论坛上提出进一步的问题。这个问题比较笼统,但熟悉该领域的人更容易回答特定于Bukkit的问题。