Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/05/2010, 14:01
Damarsito
 
Fecha de Ingreso: mayo-2010
Mensajes: 5
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Cambiar un objeto de clase en un ArrayList

Gracias por la rápida respuesta chuidiang y perdona por los pocos datos que he reflejado. El método que he escrito es:

Código Javascript:
Ver original
  1. public void cambiarClienteAVIP(String nifCliente)
  2. {
  3. int indice = 0;
  4. for(Cliente clienteCambiado : clientes) {
  5. if (nifCliente.equals(clienteCambiado.getNif())) {
  6. ClienteVIP nuevoCliente = new ClienteVIP(clienteCambiado.getNombre(), clienteCambiado.getApellidos(),
  7. clienteCambiado.getNif(), clienteCambiado.getSexo(), clienteCambiado.getAñoDeNacimiento(),
  8. clienteCambiado.getNumeroDeCliente(), clienteCambiado.getAñoDeAlta());
  9. clientes.remove(clienteCambiado);
  10. clientes.add(nuevoCliente);
  11. indice++;
  12. }
  13. }
  14. if (indice == 0) {
  15. System.out.println("El NIF indicado no corresponde a ningún cliente");
  16. }
  17.  
  18. }

Me salta el error:

java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification( AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java: 343)
at GestorDeClientesAvanzado.cambiarClienteAVIP(Gestor DeClientesAvanzado.java:69)

Y me pone en amarillo (utilizo BlueJ) la línea de inicio del ciclo "for".

Aparecen ya los datos necesarios para analizar el problema?? (Es que estoy perdidísimo, jejeje...)

Gracias por adelantado!!

Daniel M.

Última edición por Damarsito; 03/05/2010 a las 01:44