Título: Duda sobre el método get
Publicado por: reygecko en 16 Enero 2013, 23:14 pm
No consigo que 'get' me devuelva el valor correcto. Debe ser sencillo, pero no sé qué pasa y me está volviendo loco. Éste es el código: import java.util.*;
public class Orden {
static class Registro {
static String texto; static int numero; static int matriz[][] = new int[2][2]; }
public static void main(String[] args) { List<Registro> lista = new ArrayList<>(); Registro registro01 = new Registro(); Registro registro02 = new Registro(); Registro registro03 = new Registro(); Registro test = new Registro();
// Doy valores al registro 01
registro01.matriz[0][0] = 1; registro01.matriz[0][1] = 1; registro01.matriz[1][0] = 1; registro01.matriz[0][1] = 1; registro01.texto = "registro01"; registro01.numero = 1;
// Doy valores al registro 02
registro02.matriz[0][0] = 2; registro02.matriz[0][0] = 2; registro02.matriz[0][0] = 2; registro02.matriz[0][0] = 2; registro02.texto = "registro02"; registro02.numero = 2;
// Doy valores al registro 03
registro03.matriz[0][0] = 3; registro03.matriz[0][0] = 3; registro03.matriz[0][0] = 3; registro03.matriz[0][0] = 3; registro03.texto = "registro03"; registro03.numero = 3;
//Añado todos los elementos a la lista
lista.add(registro01); lista.add(registro02); lista.add(registro03); test = lista.get(0); System.out.println("El primer registro es: " + test.texto); test = lista.get(1); System.out.println("El segundo registro es: " + test.texto); test = lista.get(2); System.out.println("El tercer registro es: " + test.texto);
} }
Pues la salida que produce es (para mi desesperación :-() ésta: El primer registro es: registro03 El segundo registro es: registro03 El tercer registro es: registro03
¿Alguna sugerencia? Muchas gracias de antemano.
Título: Re: Duda sobre el método get
Publicado por: [Case] en 16 Enero 2013, 23:33 pm
Cuando tu declaras una clase o una variable static, le indicas al compilador que solamente debe de exisitir un objeto o una variable. Por lo que en este caso, al modificar la variable, modificas una variable global para todos los objetos de tipo Registro. Simplemente quitale la declarasion static al principo de las variables de la clase Registro, y funcionara tu codigo.
Título: Re: Duda sobre el método get
Publicado por: reygecko en 16 Enero 2013, 23:49 pm
Esto de los modificadores de las variables me vuelve loco... :rolleyes:
Muchas gracias [Case], de veras. ;-)
|