【发布时间】:2013-11-06 12:22:30
【问题描述】:
我有以下代码
public void saveProjects(List<Project> proj) throws DatabaseException {
for (Project listItems: proj) { // error here
insertProjects(listItems);
}
}
private void insertProjects(Project prj) throws DatabaseException {
commitObjects(prj);
}
当我执行上述操作时,我在for (Project listItems: proj) { 收到以下异常
java.util.ConcurrentModificationException 在 java.util.AbstractList$Itr.checkForComodification(AbstractList.java:449) 在 java.util.AbstractList$Itr.next(AbstractList.java:420)
如何使用 next 或 iterator 解决此问题?
编辑 1
我调用 saveProjects 的代码 sn-p
projectList.add(proj);
for (Project persist: projectList) {
persist.setProjectId("K7890");
persist.setName(fileName);
myDAO.saveProjects(projectList);
}
projectList.clear();
【问题讨论】:
-
不确定投反对票的原因。这是一个合法且完整的问题。 1+
-
我收回了。错字令人分心和误导。
-
@HovercraftFullOfEels 谢谢
-
commitObjects(prj)是做什么的?它是否以某种方式修改了List<Project> proj? -
@HovercraftFullOfEels 我已经包含了 commitObjects 方法代码 sn-p。
标签: java java.util.concurrent concurrentmodification