Какой самый простой способ распечатать массив Java?
В Java массивы не переопределяются toString(), поэтому, если вы попытаетесь напечатать один из них напрямую, вы получите className + '@' + шестнадцатеричное значение hashCode массива, как определено в Object.toString():
int[] intArray = newint[] {1, 2, 3, 4, 5}; System.out.println(intArray); // Prints something like '[I@3343c8b3'
Но обычно нам на самом деле хотелось бы чего-то большего, чем [1, 2, 3, 4, 5]. Какой самый простой способ сделать это? Вот несколько примеров входных и выходных данных:
Начиная с Java 5, вы можете использовать Arrays.toString(arr) или Arrays.deepToString(arr) для массивов внутри массивов. Обратите внимание, что Object[] version вызывает .toString() для каждого объекта в массиве. Выходные данные даже оформлены именно так, как вы просите.
или если ваш массив содержит другие массивы в качестве элементов:
System.out.println(Arrays.deepToString(array));
Ответ 3
Это приятно знать, однако, что касается "всегда сначала проверяйте стандартные библиотеки", я бы никогда не наткнулся на трюк Arrays.toString( myarray )
--поскольку я сосредоточился на типе myarray, чтобы посмотреть, как это сделать. Я не хотел проходить через это: я хотел простой вызов, чтобы результат был похож на то, что я вижу в отладчике Eclipse, а myarray.toString() просто не делал этого.