Cuando estemos manejando matrices en Java podemos volcar el contenido de la matriz de una forma sencilla por pantalla. Pero si simplemente queremos ver el contenido de la matriz podemos convertir la matriz en una cadena con Java.
Lo primero será definir nuestra matriz:
int[][] matriz = {{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
Ahora para poder convertir matriz en cadena con Java podríamos pensar que nos valdrá simplemente con invocar al método .toString()
System.out.println(matriz.toString());
Y ya lo tenemos todo… Pero, espera un momento. Por pantalla me muestra lo siguiente:
[[I@15db9742
Esto se nos parece poco a una matriz. Así que el método .toString() no nos sirve para convertir matriz en cadena con Java.
Lo que nos sucede aquí es algo parecido a lo que sucedía cuando comparábamos matrices mediante el método .equals(). Y aquí tenemos una solución parecida. Y es que la clase Arrays nos ofrece un método recursivo que se llama .deepToString. El método .deepToString recorrerá de forma recursiva la matriz y la convertirá en una cadena.
De esta forma tendremos que codificarlo de la siguiente manera:
System.out.println(Arrays.deepToString(matriz));
Y así obtendremos por pantalla:
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
Y ya habremos conseguido convertir matriz en cadena con Java de una forma sencilla.