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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 踏雪风暴 中级黑马   /  2014-7-5 17:30  /  1168 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 踏雪风暴 于 2014-7-5 21:20 编辑

对于:  char[] arr={'x','a','d'};
           System.out.print(arr);

这样可以打印出 arr  的数组,但是我一直认为  打印的是   数组的  内存地址,
但这里是怎么回事呢?

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

13 个回复

倒序浏览
本帖最后由 踏雪风暴 于 2014-7-5 17:40 编辑

这个跟以前学的好像不一样的
回复 使用道具 举报
你去查看API文档,能知道 PrintStream 有 print(char[]) 的overload 方法,打印arr的数据就是这里实现的。具体可以看源码。但是,比如不存在print(byte[]),print(int[])这些方法,就是是输出数组的内存地址了

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报 1 0
我也不明白 ,请大神指教
回复 使用道具 举报
我也在困惑,求大牛给解。
回复 使用道具 举报
郑众杰 发表于 2014-7-5 17:49
你去查看API文档,能知道 PrintStream 有 print(char[]) 的overload 方法,打印arr的数据就是这里实现的。 ...

可以理解为只有这一个特例吗
回复 使用道具 举报
不明白 ,请大神指教
回复 使用道具 举报
郑众杰 发表于 2014-7-5 17:49
你去查看API文档,能知道 PrintStream 有 print(char[]) 的overload 方法,打印arr的数据就是这里实现的。 ...

3Q~~~技术分等你拿:D:D:D
回复 使用道具 举报

打印数组中的元素要通过遍历才能打印:
char[] chs = {'x','a','d'};
for(char ch : chs) {
  System.out.println(ch);
}
回复 使用道具 举报
你定义的是char  类型的    打印的不就是  char类型吗
回复 使用道具 举报
zy524488 来自手机 中级黑马 2014-7-5 22:28:43
11#
这是print里的一个方法具体在api文档里有
回复 使用道具 举报
我开始也觉得是打印的地址 , 但是运行后发现结果跟想象不同啊 . . . 坐等大神来解答
回复 使用道具 举报
郑众杰 发表于 2014-7-5 17:49
你去查看API文档,能知道 PrintStream 有 print(char[]) 的overload 方法,打印arr的数据就是这里实现的。 ...

哈哈哈~~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马