Foro de elhacker.net

Programación => Java => Mensaje iniciado por: rubenasis en 14 Mayo 2015, 17:14 pm



Título: Problema con java.util.ConcurrentModificationException
Publicado por: rubenasis en 14 Mayo 2015, 17:14 pm
Hola a todos, tenia una duda que no consigo solucionar
Estoy teniendo problemas no al compilar, si no al ejecutar el main, puesto que me aparece java.util.ConcurrentModificationException.

Tengo una clase que contiene el siguiente método:

public void borrarSesionSalaDesdeFechas(Sala salas,Date fechas){
for(Sala sali: this.salas){
if(salas.equals(salas))
sali.EliminarSesionPorFecha(fechas);
}
}

lo que quiero es que me recorra las siguientes salas para que cuando una coincida con la que le ponga en el main llame al método externo EliminarSesionPorFecha(fechas).

en este método, el cual muestro abajo, se insertará también la fecha que puse en el main y cuando coincida me borrará la sesión

public void EliminarSesionPorFecha(Date dos){
for(Sesion sdos : this.sesiones){if(sdos.getFecha().equals(dos)){System.out.println("La sesión ha sido borrada desde la fecha: ");
sesiones.remove(sdos);}}}

el problema es que me aparece el mensaje java.util.ConcurrentModificationException.

Ley que este tipo de problemas se puede solucionar con un iterador, pero me sigue apareciendo


Título: Re: Problema con java.util.ConcurrentModificationException
Publicado por: kub0x en 14 Mayo 2015, 17:31 pm
Código
  1. public void borrarSesionSalaDesdeFechas(Sala salas,Date fechas){
  2. for(Sala sali: this.salas){
  3. if(salas.equals(salas))
  4. sali.EliminarSesionPorFecha(fechas);
  5. }
  6. }

Código
  1. public void borrarSesionSalaDesdeFechas(Sala salas,Date fechas){
  2. for(Sala sali: this.salas){
  3. if(sali.equals(salas))
  4. sali.EliminarSesionPorFecha(fechas);
  5. }
  6. }

Estabas comparando todo el rato el objeto salas con si mismo.