¿Cuál es la forma más sencilla de imprimir un array en Java?
En Java, los arrays no anulan toString()
, por lo que si se intenta imprimir uno directamente, se obtiene el className
+ '@' + el hexágono del hashCode
del array, tal y como lo define Object.toString()
:
int[] intArray = new int[] {1, 2, 3, 4, 5};
System.out.println(intArray); // prints something like '[I@3343c8b3'
Pero normalmente, querríamos algo más como [1, 2, 3, 4, 5]
. ¿Cuál es la forma más sencilla de hacerlo? Aquí hay algunos ejemplos de entradas y salidas:
// Array of primitives:
int[] intArray = new int[] {1, 2, 3, 4, 5};
//output: [1, 2, 3, 4, 5]
// Array of object references:
String[] strArray = new String[] {"John", "Mary", "Bob"};
//output: [John, Mary, Bob]
1838
3
Desde Java 5 se puede utilizar
Arrays.toString(arr)
oArrays.deepToString(arr)
para arrays dentro de arrays. Tenga en cuenta que la versiónObject[]
llama a.toString()
en cada objeto del array. La salida está incluso decorada de la forma exacta que usted pide.Ejemplos:
Array simple:
Salida:
Array anidado:
Salida:
double
Array:Salida:
int
Array:Salida:
Comprueba siempre primero las bibliotecas estándar. Inténtalo:
o si tu array contiene otros arrays como elementos:
Si utiliza Java 1.4, puede hacerlo en su lugar:
(Esto también funciona en 1.5+, por supuesto).