-2

我正在尝试解决这个问题,但无论如何我都没有解决。有人可以帮助我吗?

for(Iterator<Block> iterator = event.blockList().iterator(); iterator.hasNext();)
{
    Block b = iterator.next();

    if (((RegiaoCuboid) r).contains(b))
        event.blockList().remove(b);
}
4

2 回答 2

3

使用迭代器删除:

iterator.remove();

ConcurrentModificationException当集合以使打开的迭代器无效的方式发生更改时,将引发A。在这种情况下,您remove直接调用集合。

于 2013-04-14T22:40:01.817 回答
-2

您不能在迭代列表时修改它。我建议将您希望删除的块添加到新列表中,然后对其进行迭代并将它们从主要列表中删除(编辑:或者,按照其他人所说的去做)。此外,如果您正在做我认为的事情,我建议您在 Bukkit 论坛上提出更多问题。这个问题更笼统,但熟悉该领域的人会更容易回答 Bukkit 特定的问题。

于 2013-04-14T22:42:55.080 回答