私はこの問題を解決しようとしていますが、いずれにしても解決しません。誰かが私を助けることができますか?
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
イテレータを無効にする方法でコレクションが変更されると、 がスローされます。この場合remove
、コレクションを直接呼び出しています。
反復処理中にリストを変更することはできません。削除したいブロックを新しいリストに追加し、それを繰り返してメインのブロックから削除することをお勧めします(編集:または、他の人が言ったことを行います)。さらに、私が思っていることをしているのであれば、Bukkit Forums でさらに質問することをお勧めします。この質問はより一般的なものですが、Bukkit 固有の質問は、その分野に精通している個人の方が簡単に回答できます。