Какой самый простой способ напечатать массив Java? - PullRequest
1762 голосов
/ 03 января 2009

В Java массивы не переопределяют toString(), поэтому, если вы попытаетесь напечатать один непосредственно, вы получите className + @ + шестнадцатеричный код hashCode массива, как определено Object.toString():

int[] intArray = new int[] {1, 2, 3, 4, 5};
System.out.println(intArray);     // prints something like '[I@3343c8b3'

Но обычно нам бы хотелось чего-то большего, чем [1, 2, 3, 4, 5]. Какой самый простой способ сделать это? Вот несколько примеров входов и выходов:

// 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]

Ответы [ 32 ]

0 голосов
/ 20 декабря 2017

Вы можете использовать Arrays.toString()

String[] array = { "a", "b", "c" };  
System.out.println(Arrays.toString(array));
0 голосов
/ 01 октября 2015

Самый простой способ напечатать массив - использовать цикл for:

// initialize array
for(int i=0;i<array.length;i++)
{
    System.out.print(array[i] + " ");
}
...