对于在其他地方回答过此问题,我深表歉意。我看过但没有找到能解决我的特殊问题的任何东西。
我有两个for循环,用于删除一个客户对象(每个ID仅一个),然后删除具有相同客户ID的后续支持日志对象(每个ID可以多个)。可以很好地删除客户,也删除第一条支持日志,然后完成循环。除了第一个日志仍然存在,我仍然可以支持所有日志,当我尝试删除它们时,我会得到
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:866)
at java.util.ArrayList$Itr.next(ArrayList.java:838)
at Main.main(Main.java:184)
我在下面添加了我的循环,它可能是一个简单的修复程序,但是我对此很陌生,感谢您的帮助!让我知道您是否需要更多信息。
客户对象删除循环:
for (Customer i : customerList) {
if (i.getID() == deleteCust) {
i.setCustDeleted("Deleted");
customerList.remove(i);
custDeleteFlag = 1;
System.out.println("Customer record sucsessfuly deleted.");
break;
}
}
客户支持日志对象删除循环:
for (SupportLog i : supportList) {
if(i.getSupportID() == deleteCust) {
i.setLogDelete("Deleted");
supportList.remove(i);
System.out.println("Customer logs sucsessfuly deleted.");
}
}