日期:2014-05-20  浏览次数:20749 次

打印Java数组
比方说我有一个数组叫Array,里面存储了10个int型的数据,
我用System.out.print(Array)打印的时候,输出的不是我
原本存储在Array里面的数据,而是一堆莫名其妙的字符和数字,
各位,是不是java里面不能这么打印数组,而我打印的是我定义的
数组的地址?

------解决方案--------------------
System.out.print(java.util.Arrays.toString(Array))
------解决方案--------------------
for(int i : arraay){System.out.printf("%d ",i);}
System.out.println();
------解决方案--------------------
System.out.println打印的时候调用了数组的toString方法,方法实现参见Object#toString

探讨

谢谢你,我知道可以逐个打印,我就是想知道,我这么写为什么不对呢?

------解决方案--------------------
lz打印的是数组首地址,打印数组1L,2L的方法都行
java中可以给类重写一个toString()的方法,这样就可以按照lz设定的方式打印了,否则打印地址
------解决方案--------------------
System.out.print(Array) 实际上执行的是System.out.print(Array.toString)
------解决方案--------------------
探讨
引用:

System.out.print(Array) 实际上执行的是System.out.print(Array.toString)
那我这样写
代码1:
int[] a = {1,2,3};
String output = Arrays.toString(a);
System.out.println(output);

显示结果 [1,2,3]
……