发布日期:2018-03-26
打印Java数组的最简单的方法是什么?+ 查看更多
打印Java数组的最简单的方法是什么?
+ 查看更多
发布日期:2018-03-10 14:03
分类:JAVA
浏览次数:105
在Java中,数组不会覆盖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]
回答:
因为在Java 5中,你可以使用Arrays.toString(arr)或Arrays.deepToString(arr)用于数组中的数组。请注意,这个版本中的Object[]对数组中的每一个对象调用.toString()。输出甚至可以以你要求的方式来修饰。例子:
简单数组:
String[] array = new String[] {"John", "Mary", "Bob"}; System.out.println(Arrays.toString(array));输出:
[John, Mary, Bob]嵌套数组:
String[][] deepArray = new String[][] {{"John", "Mary"}, {"Alice", "Bob"}}; System.out.println(Arrays.toString(deepArray)); //output: [[Ljava.lang.String;@106d69c, [Ljava.lang.String;@52e922] System.out.println(Arrays.deepToString(deepArray));输出:
[[John, Mary], [Alice, Bob]]double数组:
double[] doubleArray = { 7.0, 9.0, 5.0, 1.0, 3.0 }; System.out.println(Arrays.toString(doubleArray));输出:
[7.0, 9.0, 5.0, 1.0, 3.0 ]int数组:
int[] intArray = { 7, 9, 5, 1, 3 }; System.out.println(Arrays.toString(intArray));输出:
[7, 9, 5, 1, 3 ]