0
我在尝试从HashMap中删除条目时遇到了ConcurrentModificationException,我无法弄清楚原因。我是而不是遍历它,我只是检查它是否包含给定的键,并删除映射到它的值,如果它。我已经阅读过这个问题,但他们都是试图修改HashMap而不使用迭代器的迭代器,而这并不是我的情况。HashMap上的ConcurrentModificationException(不会迭代它)
这是(任务serverTask:serverTasksNotInDB)代码
serverTasksNotInDB = CompareLists.serverTasksNotInDB(localTasks, serverTasks);
if (serverTasksNotInDB != null && !serverTasksNotInDB.isEmpty()) {
for (Task serverTask : serverTasksNotInDB) {
String id = serverTask.getId();
mPresenter.addTaskFirstTimeFromServer(serverTask, currentListId);
if (serverTasks != null) {
serverTasks.remove(serverTask);
boolean containsKey = serverTasksMap.containsKey(id);
if (containsKey) {
//TODO Fix concurrency modification exception here (down)
serverTasksMap.remove(id);
}
}
}
}
尝试另一种方式 –
对不起,请您详细解释一下吗? –
https://stackoverflow.com/questions/85190/how-does-the-java-for-each-loop-work –