|
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
|
Herramientas |
#1
|
||||
|
||||
Llenando ArrayList
Tengo un ArrayList y cago los datos así:
Amigo amigo1 = new Amigo(); amigo1.setTitulo("carlos"); Listin.add(amigo1); amigo1.setTitulo("pepe"); Listin.add(amigo1); amigo1.setTitulo("adolfo"); Listin.add(amigo1); El caso es que al ver la lista yo esperaba ver: carlos pepe adolfo y no, en lugar de eso veo: adolfo adolfo adolfo ¿porque? ¿como tendría que hacerlo para que salga bien ? |
|
#2
|
||||
|
||||
El ArrayList almacena las referencias, así que realmente has almacenado 3 referencias a amigo1 y por eso si haces un cambio en amigo1 también cambiará en el ArrayList.
El código correcto sería el siguiente: Amigo amigo1 = new Amigo(); amigo1.setTitulo("carlos"); Listin.add(amigo1); amigo1 = new Amigo(); amigo1.setTitulo("pepe"); Listin.add(amigo1); amigo1 = new Amigo(); amigo1.setTitulo("adolfo"); Listin.add(amigo1); En Java todo (a excepción de los enteros, decimales, floats, booleanos y poco más, creo que también los string, pero de esto no estoy muy seguro) son referencias, así que un cambio en el objeto de origen supondrá un cambio en todos los objetos que lo referencien. |
Estás aquí | ||||||
|