A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 何剑钟 中级黑马   /  2015-3-3 23:14  /  1365 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. char[] arr1=new char[]{'d','f','e','r'};
  2. System.out.println(arr1);
复制代码


刚上完数组,发现为什么char数组直接用打印语句输出会是数组的各个元素,而不是老师所说的数组地址之类的信息?求各位高人请教:D

9 个回复

倒序浏览
本帖最后由 wdhm5423 于 2015-3-3 23:38 编辑

好像不是
回复 使用道具 举报
println有诸多重载版本,参数不同,输出结果也可能不同,不可一概而论
回复 使用道具 举报
。。。。。。我的也是 直接输出的数组里面的元素,,
回复 使用道具 举报
huangchunwei 来自手机 中级黑马 2015-3-4 08:11:58
报纸
隐式代码,arr1.toString()。可以看下这个toString方法的代码,当然也可以理解成print方法有重载形式。
回复 使用道具 举报
产看API文档上面有解释: void println(char[] x)            打印字符数组,然后终止该行。
回复 使用道具 举报
习惯就好 发表于 2015-3-4 10:09
产看API文档上面有解释: void println(char[] x)            打印字符数组,然后终止该行。  ...

哦哦,原来如此,谢了
回复 使用道具 举报
huangchunwei 发表于 2015-3-4 08:11
隐式代码,arr1.toString()。可以看下这个toString方法的代码,当然也可以理解成print方法有重载形式。 ...

这样啊,谢了
回复 使用道具 举报
长知识了  
回复 使用道具 举报
因为输出流System.out是PrintStream对象,PrintStream有多个重载的println方法,其中一个就是public void println(char[] x),直接打印字符数组的话,不像int[]等其他数组,它会直接调用这个方法来打印,因而可以打印出数组内容,而不是地址。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马