tengo un sencillo problema que no se porque me pasa y me gustaria que me dijerais porque.
En una clase, en mi constructor recibo un array.
Previamente me creo 2 arrays, uno ORIGINAL y otro COPIA.
Esto lo hago porque quiero hacer modificaciones en la COPIA y que el otro no se me modifique.
os pongo el codigo:
Código:
A continuacion, en otro metodo, hago una seria de cosas, y luego borro un elemento del array COPIA, pero se me borra tambien del array ORIGINAL!!ArrayList<personas> original = new ArrayList<personas>(); ArrayList<personas> copia = new ArrayList<personas>(); public Liga3(java.awt.Frame parent, boolean modal, ArrayList<personas> recibe, int opcion_elegida) { super(parent, modal); initComponents(); this.getContentPane().setBackground(new Color(91,151,242)); this.original = recibe; this.copia = recibe; this.opcion_elegida = opcion_elegida; cargar(); }
Es mas, el array que recibo de la clase padre, el que recibe "recibe", tambien se me borran de ahi los elementos! Porque me pasa eso? que hago mal?
Código:
Pues eso, al hacer el remove en copia, si pongo un System.out.println para copia y para original, pues elimina el elemento de los 2 arraylist.public void cargar(){ Random rand = new Random(); int x = rand.nextInt(copia.size()); String uno_Nombre = copia.get(x).getNombre(); String uno_Ape1 = copia.get(x).getApellido1(); copia.remove(x); }
Alguna solucion? Porque me pasa eso?
gracias