(イテレータを使用して)反復しようとしているオブジェクトのLinkedListがあります。衝突があるかどうかを確認し、衝突している場合は、リストから削除します。ただし、同時変更の例外が発生します。私はそれを同期ブロックに入れ、try catchブロックでエラーをキャッチしようとしましたが、どちらもまったく役に立たないようです。コードは次のとおりです。
private void updateTP() {
synchronized (toiletpaper) {
Iterator<ToiletPaper> iter = toiletpaper.iterator();
while (iter.hasNext()) {
ToiletPaper tp = iter.next();
tp.update(1000, 700);
if (toilet.overlaps(tp)) {
System.out.println("tp splash!");
toiletpaper.remove(tp);
menu.removeLife();
}
}
}
}
問題についての考えはありがたいです、私はこことグーグルを調べました、そしてそれらのすべては例外を捕まえるかそれを同期させると言いました、どちらもうまくいかないようです...助けてください。