首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 系统运维 >

System.out.print(anArray) anArray=char[] 及anArray=int[] 的差别

2012-09-13 
System.out.print(anArray) anArraychar[] 及anArrayint[] 的区别?无意看到有人在问,为什么?public fina

System.out.print(anArray) anArray=char[] 及anArray=int[] 的区别

?无意看到有人在问,为什么

?

public final static PrintStream out = nullPrintStream();

?接着看PrintStream的print/println存在较多的重载,比较眼尖一下就看到print(char[] s[])以及print(Object x),未看到针对其它类型数组的重载,至此至少发现是这区别导致不同的输出结果。

? 如你所知,数组也是Object,对于非char[]类型数组,都使用print(Object x),这个方法最终使用的是String.valueOf(x),即x.toString(),所以对于非char数组输出引用地址就不中为奇了。

? ?对于print(char[] s),跟到最后发现是使用?sun.nio.cs.StreamEncoder.write(char[] cbuf, int off, int len)方法,配合CharBuffer来完成的,具体可以查看该方法实现。

? ?是否有其它方法让非char[]数组也能便捷的输出元素呢,当然,使用java.utils.Arrays.toString(x);即可

?

?

?

热点排行