-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イテレータを無効にする方法でコレクションが変更されると、 がスローされます。この場合remove、コレクションを直接呼び出しています。

于 2013-04-14T22:40:01.817 に答える
-2

反復処理中にリストを変更することはできません。削除したいブロックを新しいリストに追加し、それを繰り返してメインのブロックから削除することをお勧めします(編集:または、他の人が言ったことを行います)。さらに、私が思っていることをしているのであれば、Bukkit Forums でさらに質問することをお勧めします。この質問はより一般的なものですが、Bukkit 固有の質問は、その分野に精通している個人の方が簡単に回答できます。

于 2013-04-14T22:42:55.080 に答える