13/04/2011, 03:13
|
| | | Fecha de Ingreso: diciembre-2009
Mensajes: 62
Antigüedad: 15 años Puntos: 4 | |
Respuesta: arraylist de arraylist Yo te voy a explicar porque cuando bajas el "primero.clear()" te retorna vacio
Bien, es simple, porque "primero" es un Objeto y lo que vos haces cuando escribis devuelve.add(primero) el nuevo elemento del "devuelve" es una REFERENCIA del objeto "primero", no se si me explico.
Es decir, supongamos que
Objeto primero= "ab"
vos haces devuelve.add(primero) , claro esta que devuelve seria entonces devuelve= [[ab]]
pero ese ab de devuelve es ua REFERENCIA de el objeto "primero", es decir que hagas lo que hagas con el objeto "primero" se va a modificar el elto ab de devuelve y en todas las partes que hayas referenciado al obejto primero.
A no ser que crees otro objeto aparte de esos dos que tenes y hagas una copia exacta del objeto primero, y esa copia es lo que vas a agregar al devuelve, no vas a agregar "primero".
Por eso cuando pones primero.clear() al al final y dentro del while se vacian todos los elementos de "primero" por ende tambien se van a vaciar los elemenos de "devuelve".
No se si me explique bien, Si en tu primero codigo, abajo y afuera del while escribis primero.add("a"); y imprimis System.out.println(devuelve.toString()); vas a saber de lo que hablo.
Saludos que andes bien! |