我有一个我试图迭代的对象的 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();
}
}
}
}
对此问题的任何想法将不胜感激,我浏览了这里和谷歌,他们都说要么捕获异常要么同步它,这似乎都不起作用所以......请帮忙。