В Java массивы не переопределяют методtoString(), поэтому, если вы попытаетесь напечатать массив, вы получите что-то вроде className + ‘@’ + шестнадцатеричный хэш-код массива, как определено в методе Object.toString():
int[] array = new int[] {1, 2, 3, 4, 5, 6, 7};
System.out.println(array);
// результат:
[I@5fdef03a
Начиная с Java 5, вы можете использовать статический методы Arrays.toString() и Arrays.deepToString() для массивов и вложенных массивов. Давайте рассмотрим примеры:
Простой массив
Для печати простого одномерного массива нужно использовать метод Arrays.toString()
import java.util.Arrays;
...
String[] array = new String[] {"Java", "Python", "Basic"};
System.out.println(Arrays.toString(array));
// результат:
[Java, Python, Basic]
double[] doubleArray = { 8.0, 9.0, 5.0 };
System.out.println(Arrays.toString(doubleArray));
// результат:
[8.0, 9.0, 5.0]
Вложенный массив
Для печати многомерных массивов нужно использовать метод Arrays.deepToString()
import java.util.Arrays;
...
String[][] deepArray = new String[][] {{"Java", "Python"}, {"JavaScript", "Kotlin"}};
System.out.println(Arrays.toString(deepArray));
// результат:
[[Ljava.lang.String;@5fdef03a, [Ljava.lang.String;@3b22cdd0]
System.out.println(Arrays.deepToString(deepArray));
// результат:
[[Java, Python], [JavaScript, Kotlin]]