Foro de elhacker.net

Programación => Java => Mensaje iniciado por: n-utz en 5 Abril 2017, 03:37 am



Título: Problemas con toString en Arrays Bidimensionales
Publicado por: n-utz en 5 Abril 2017, 03:37 am
Buenas noches gente, los saludo. Veran el IDE Eclipse NEON me esta dando un problema con el toString que viene por defecto, al querer utilizarlo para que me imprima un array bidimensional.

Aclaro que soy nuevo en Java, y el siguiente segmento de codigo lo realizo el IDE automaticamente.

Realmente pense en una solucion a este problema, pero quisiera saber si tocando algo simple de este codigo se solucionaria, vamos a ello.

Teniendo:

Código:
double[][] matriz = {{2,5,7},{8,3,6}};
Bidimensional arrayBi = new Bidimensional(matriz);

System.out.println(arrayBi.toString());

Y utilizando este metodo:

Código:
public String toString() {
return "Bidimensional [matriz="+ (matriz != null ? Arrays.asList(matriz) : null) + "]";
}


Imprime esto:
Código:
Bidimensional [matriz=[[D@15db9742, [D@6d06d69c]]


No se si el IDE es viejo o algo, pero se me hace que es un error propio de el.

Muchas gracias.


Título: Re: Problemas con toString en Arrays Bidimensionales
Publicado por: Eleкtro en 5 Abril 2017, 03:58 am
No manejo Java pero... ¿has probado a usar la función Arrays.deepToString()?:

  • http://stackoverflow.com/a/2397610/1248295

Cita de: http://docs.oracle.com/javase/6/docs/api/java/util/Arrays.html#deepToString
deepToString Returns a string representation of the "deep contents" of the specified array. If the array contains other arrays as elements, the string representation contains their contents and so on.
This method is designed for converting multidimensional arrays to strings.

¡Saludos!


Título: Re: Problemas con toString en Arrays Bidimensionales
Publicado por: ThinkByYourself en 5 Abril 2017, 08:37 am
Buenas!

El toString llamado ahí es el de la clase List, si te fijas. Puedes probar con Arrays.toString(list.toArray()). O el que comenta Elektro parece que está hecho para eso mismo.

Saludos!


Título: Re: Problemas con toString en Arrays Bidimensionales
Publicado por: n-utz en 6 Abril 2017, 00:16 am
Funciono con Arrays.deepToString(); gracias gente!