estoy trabajando en una pieza de código con el iterador y conseguir un ConcurrentModificationException en la línea de una cuando corro el programa de mi IDE en windows--es el sistema ConcurrentModificationException dependiente lanzando
LinkedList ll =new LinkedList();
. . .
. . .
Iterator iter = ll.iterator();
int i=0;
while (iter.hasNext()) {
// GrammarSection agrammarSection = (GrammarSection) iter.next(); //a
String s1 = (String) iter.next();
ll.remove(i);
i++;
}
Se espera porque Im modificando la lista mientras estoy iterando para que el iterador de fail-fast arroje una excepción de modificación concurrente. Sin embargo, cuando ejecuto este código en Unix con el servidor Apache, el siguiente método del iterador no arroja ninguna excepción. Entonces, ¿la excepción de modificación simultánea depende del nivel de SO?
¿Está seguro de que su JDK, código y datos son idénticos en ambos entornos? Lo siento, pero no creo que esto sea posible. Java es multiplataforma. ConcurrentModificationException se lanza desde la colección, es decir, desde JDK escrito en java, por lo que no puede depender de la plataforma. – AlexR
Debe aceptar las respuestas anteriores .. –