打印Java数组 System.out.print(java.util.Arrays.toString(Array)) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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) 那我这样写代码1:int[] a = {1,2,3};String output = Arrays.toString(a);System.out.println(output);显示结果 [1,2,3]代码2:int[] a = {1,2,3};System.out.println(a);显示结果 [I@19e3cd51如你所说结果应该相同啊,为什么会不一样呢? LZ没理解好Object的toString方法int[] a = {1,2,3};System.out.println(a); //这里相当于 System.out.println(a.toString());a是个数组对象,没有重写toString方法,所以调用的是父类Object的toString方法,Object的toString方法缺省是打印对象的类型+@+对象的哈西值int[] a = {1,2,3};System.out.println(a);System.out.println(a.getClass().getName() + "@" + Integer.toString(a.hashCode(), 16)); 两个打印结果等效 Object中的toSring方法打印的是类名和地址,所以出来了一堆数不是调用的object中的toSring 是调用的Arrays中的toString方法,这两个toString是有区别的你直接System.out.println(Arrays.toString(Array)); 楼主,你去看看System.out.println的源代码,这个函数只能打印char数组,其他的形参都是long,int,double,float型,所以当你System.out.println(a)时,实际函数是把数组a的地址转化为 int or long,然后进行打印 如何根据枚举的字符串获取值 groovyWS的new WSClient()问题 求助:关于java的drawRect的问题. 怎么知道我选的是哪个文本框 出学JAVA,问个小问题。关于类的。 NIO的奇怪事件 非常奇怪! 救救我!_! 关于jBuilder9的问题 怎么把一个目录下是.pdf和.rar,.zip的所有文件列出来。 请问哪有《thinking in java》第三版下载(要pdf文档的),谢谢! 如何将一个jdbc数据源绑定到JNDI树上。请教!谢谢! java小问题 JAVA CORBA初学问题
System.out.println();
java中可以给类重写一个toString()的方法,这样就可以按照lz设定的方式打印了,否则打印地址
代码1:
int[] a = {1,2,3};
String output = Arrays.toString(a);
System.out.println(output);显示结果 [1,2,3]代码2:
int[] a = {1,2,3};
System.out.println(a);显示结果 [I@19e3cd51如你所说结果应该相同啊,为什么会不一样呢?
int[] a = {1,2,3};
System.out.println(a); //这里相当于 System.out.println(a.toString());
a是个数组对象,没有重写toString方法,所以调用的是父类Object的toString方法,Object的toString方法缺省是打印对象的类型+@+对象的哈西值
int[] a = {1,2,3};
System.out.println(a);
System.out.println(a.getClass().getName() + "@" + Integer.toString(a.hashCode(), 16));
两个打印结果等效
不是调用的object中的toSring 是调用的Arrays中的toString方法,这两个toString是有区别的
你直接System.out.println(Arrays.toString(Array));
System.out.println(a)时,实际函数是把数组a的地址转化为 int or long,然后进行打印