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'調用?一個簡短但完整的程序展示這個問題真的會有幫助... –