我正在尝试解决这个问题,但无论如何我都没有解决。有人可以帮助我吗?
for(Iterator<Block> iterator = event.blockList().iterator(); iterator.hasNext();)
{
Block b = iterator.next();
if (((RegiaoCuboid) r).contains(b))
event.blockList().remove(b);
}
使用迭代器删除:
iterator.remove();
ConcurrentModificationException
当集合以使打开的迭代器无效的方式发生更改时,将引发A。在这种情况下,您remove
直接调用集合。
您不能在迭代列表时修改它。我建议将您希望删除的块添加到新列表中,然后对其进行迭代并将它们从主要列表中删除(编辑:或者,按照其他人所说的去做)。此外,如果您正在做我认为的事情,我建议您在 Bukkit 论坛上提出更多问题。这个问题更笼统,但熟悉该领域的人会更容易回答 Bukkit 特定的问题。