[?] Código correcto?

Iniciado por MeCraniDOS, 17 Enero 2015, 19:38 PM

0 Miembros y 1 Visitante están viendo este tema.

MeCraniDOS

Hola  ;D,

Solo quiero saber si este código es correcto, aunque hace lo que quiero que haga..  :silbar:

Código (java) [Seleccionar]
   private Object[][] data = {
       {true, "", "", 0, 1, ""},
       {false, "", "", 0, 1, ""},
   };

   public void add(Object[] value) {
       data = appendValue(data, value);
   }

   private Object[][] appendValue(Object[][] obj, Object[] newObj) {
       ArrayList<Object> temp = new ArrayList<>(Arrays.asList(obj));
       temp.add(newObj);
       return temp.toArray(obj);
   }


Lo unico que hace es añadir un elemento al Object[][], la funcion appendValue es la que no se si es correcta  :huh:

Un saludo

"La física es el sistema operativo del Universo"
     -- Steven R Garman

dragon.kalos

Cita de: MeCraniDOS en 17 Enero 2015, 19:38 PM
Hola  ;D,

Solo quiero saber si este código es correcto, aunque hace lo que quiero que haga..  :silbar:

Código (java) [Seleccionar]
   private Object[][] data = {
       {true, "", "", 0, 1, ""},
       {false, "", "", 0, 1, ""},
   };

   public void add(Object[] value) {
       data = appendValue(data, value);
   }

   private Object[][] appendValue(Object[][] obj, Object[] newObj) {
       ArrayList<Object> temp = new ArrayList<>(Arrays.asList(obj));
       temp.add(newObj);
       return temp.toArray(obj);
   }


Lo unico que hace es añadir un elemento al Object[][], la funcion appendValue es la que no se si es correcta  :huh:

Un saludo



si haces lo que quieres y no da error, es de suponer que es correcto. no?

Usuario Invitado

En el código que has puesto, haces uso de una matriz Object. Bueno, siguiendo la convención de buenas prácticas de programación en Java, no es muy recomendable hacer ésto ya que tu matriz, array o lista es demasiada genérica. Ésto es válido por supuesto desde el punto de vista si es necesario.

En vez de usar matrices usa Lists. El proceso sería muy sencillo:

Código (=java) [Seleccionar]

class Test
{
public static void main(String[] args)
{
List<Object[]> data = new ArrayList<>();

data.add(new Object[]{true, "", "", 0, 1, ""});
data.add(new Object[]{false, "", "", 0, 1, ""});
Helper.addData(data, new Object[]{true,"A","B",1,0,"C"});
Helper.showData(data);
}

private static class Helper
{
public static void addData(List<Object[]> data, Object[] value)
{
data.add(value);
}

public static void showData(List<Object[]> data)
{
for(Object[] row : data)
{
System.out.println("Fila: "+Arrays.toString(row));
}
}
}
}


Citar
Output:

Fila: [true, , , 0, 1, ]
Fila: [false, , , 0, 1, ]
Fila: [true, A, B, 1, 0, C]

Si quisieras obtener un dato de un arreglo en específico:

Código (=java) [Seleccionar]

System.out.println(data.get(0)[3]); // Muestra '0'


"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein