M
Metus
Gast
Hallo,
ich habe ein Problem mit einer Funktion, beim Aufruf wirft der Compiler eine ConcurrentModificationException.
Nach Definition der Exception tritt diese auf, wenn über eine Liste (oder ähnliche Collections) eine Thread iteriert während ein anderer Änderungen vornimmt.
Ich finde in dem Code allerdings keine Stelle, an der das der Fall sein könnte:
An der rot unterlegten Stelle wird die Exception geworfen. Kann mir jemand sagen warum?
Danke schonmal!
ich habe ein Problem mit einer Funktion, beim Aufruf wirft der Compiler eine ConcurrentModificationException.
Nach Definition der Exception tritt diese auf, wenn über eine Liste (oder ähnliche Collections) eine Thread iteriert während ein anderer Änderungen vornimmt.
Ich finde in dem Code allerdings keine Stelle, an der das der Fall sein könnte:
Code:
public boolean addResortFeature(String nameFeature)
{
boolean b = false;
FeaturesResort addFeature = new FeaturesResort(nameFeature);
Iterator it = resortFeatures.iterator();
if(resortFeatures.size() <= 0)
{
resortFeatures.add(addFeature);
b = true;
}
else if(resortFeatures.size() > 0)
{
try
{
while(it.hasNext())
{
[color=#FF0000]FeaturesResort fr = (FeaturesResort) it.next();[/color]
if(nameFeature.equals(fr.getNameFeature()))
{
throw new FeatureException("Feature schon vorhanden");
}
else
{
resortFeatures.add(addFeature);
b = true;
}
}
}
catch(FeatureException e)
{
b = false;
}
}
return b;
}
An der rot unterlegten Stelle wird die Exception geworfen. Kann mir jemand sagen warum?
Danke schonmal!