Qual'é a maneira mais simples de imprimir um array Java?
Em Java, arrays don't override toString()
, então se você tentar imprimir um diretamente, você recebe o className
+ '@' + o hexágono do hashCode
do array, como definido por Object.toString()
:
int[] intArray = new int[] {1, 2, 3, 4, 5};
System.out.println(intArray); // prints something like '[I@3343c8b3'
Mas geralmente, nós'queremos algo mais como [1, 2, 3, 4, 5]
. Qual'é a maneira mais simples de fazer isso? Aqui estão alguns exemplos de entradas e saídas:
// 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 o Java 5 você pode utilizar
Arrays.toString(arr)
ouArrays.deepToString(arr)
para arrays dentro de arrays. Note que oObject[]
versão chama.toString()
em cada objeto do array. A saída é até mesmo decorada da maneira exata que você está perguntando.Exemplos:
Simple Array:
Saída:
Nested Array:
Saída:
"Duplo" Array:
Saída:
int
Array:Saída:
Verifique sempre primeiro as bibliotecas padrão. Tente:
ou se a sua matriz contém outras matrizes como elementos:
Se você estiver usando Java 1.4, você pode fazer:
(Isto também funciona em 1.5+, é claro).