0
List<ModelElement> elementList; //holds all model element
List<UUID> selectedElements;
public ModelElement getElement(UUID id)
{
ModelElement element = null;
for (ModelElement e : elementList){
if (e.getId().equals(id)){
element = e;
break;
}
}
return element;
}
public void deleteElement(UUID id)
{
selectedElements.remove(id);
elementList.remove(getElement(id));
}
public void deleteElement(List<UUID> ids)
{
for (UUID id : ids)
{
deleteElement(id);
}
}
为什么此代码创建java.util.ConcurrentModificationException? 它工作正常,如果我调用单身份证版本,但如果我使用列表之一崩溃。Java:java.util.ConcurrentModificationException无法解释
我们不能回答,要么除非你发布一个完整的,可运行的程序。你显然在某个地方有多个线程,但是这个代码没有显示什么线程正在使用它。 –
请提供[mcve](http://stackoverflow.com/help/mcve) –
您是否将'selectedElements'传递给'deleteElement'调用?一个简短但完整的程序展示这个问题真的会有帮助... –