Code:
import java.util.*;
public class CodeKeeper
{
Vector list = new Vector();
String[] codes = {"alpha", "lambda", "gamma", "delta", "zeta"};
public CodeKeeper(String[] userCodes)
{
// Iterator it = list.iterator();
for (int i = 0; i < codes.length; i++)
{
addCode(codes[i]);
}
for (int i = 0; i < userCodes.length; i++)
{
addCode(userCodes[i]);
}
Iterator it = list.iterator();
while (it.hasNext())
{
String output = (String)it.next();
System.out.println(output);
}
}
private void addCode(String code)
{
if (!list.contains(code))
{
list.add(code);
}
}
public static void main(String[] args)
{
CodeKeeper keeper = new CodeKeeper(args);
}
}
Entferne ich die Kommentarzeichen in Zeile 10 und kommentiere dafür Zeile 22 aus bekomme ich folgende Fehlermeldung:
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:449)
at java.util.AbstractList$Itr.next(AbstractList.java:420)
at java5In21Tagen.CodeKeeper.<init>(CodeKeeper.java:29)
at java5In21Tagen.CodeKeeper.main(CodeKeeper.java:44)
Warum?