黑马程序员技术交流社区

标题: 新人举手问关于char数组的问题 [打印本页]

作者: 何剑钟    时间: 2015-3-3 23:14
标题: 新人举手问关于char数组的问题
  1. char[] arr1=new char[]{'d','f','e','r'};
  2. System.out.println(arr1);
复制代码


刚上完数组,发现为什么char数组直接用打印语句输出会是数组的各个元素,而不是老师所说的数组地址之类的信息?求各位高人请教:D
作者: wdhm5423    时间: 2015-3-3 23:34
本帖最后由 wdhm5423 于 2015-3-3 23:38 编辑

好像不是
作者: fantacyleo    时间: 2015-3-3 23:40
println有诸多重载版本,参数不同,输出结果也可能不同,不可一概而论
作者: aawenwei    时间: 2015-3-4 00:02
。。。。。。我的也是 直接输出的数组里面的元素,,
作者: huangchunwei    时间: 2015-3-4 08:11
隐式代码,arr1.toString()。可以看下这个toString方法的代码,当然也可以理解成print方法有重载形式。
作者: 习惯就好    时间: 2015-3-4 10:09
产看API文档上面有解释: void println(char[] x)            打印字符数组,然后终止该行。
作者: 何剑钟    时间: 2015-3-4 11:16
习惯就好 发表于 2015-3-4 10:09
产看API文档上面有解释: void println(char[] x)            打印字符数组,然后终止该行。  ...

哦哦,原来如此,谢了
作者: 何剑钟    时间: 2015-3-4 11:19
huangchunwei 发表于 2015-3-4 08:11
隐式代码,arr1.toString()。可以看下这个toString方法的代码,当然也可以理解成print方法有重载形式。 ...

这样啊,谢了
作者: 小泽    时间: 2015-3-4 11:53
长知识了  
作者: 笑望长空,逆转    时间: 2015-3-4 12:20
因为输出流System.out是PrintStream对象,PrintStream有多个重载的println方法,其中一个就是public void println(char[] x),直接打印字符数组的话,不像int[]等其他数组,它会直接调用这个方法来打印,因而可以打印出数组内容,而不是地址。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2