黑马程序员技术交流社区

标题: 有关数组的 [打印本页]

作者: 踏雪风暴    时间: 2014-7-5 17:30
标题: 有关数组的
本帖最后由 踏雪风暴 于 2014-7-5 21:20 编辑

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

这样可以打印出 arr  的数组,但是我一直认为  打印的是   数组的  内存地址,
但这里是怎么回事呢?
作者: 踏雪风暴    时间: 2014-7-5 17:33
本帖最后由 踏雪风暴 于 2014-7-5 17:40 编辑

这个跟以前学的好像不一样的
作者: 郑众杰    时间: 2014-7-5 17:49
你去查看API文档,能知道 PrintStream 有 print(char[]) 的overload 方法,打印arr的数据就是这里实现的。具体可以看源码。但是,比如不存在print(byte[]),print(int[])这些方法,就是是输出数组的内存地址了
作者: Emperors    时间: 2014-7-5 19:20
我也不明白 ,请大神指教
作者: 1165577865    时间: 2014-7-5 19:30
我也在困惑,求大牛给解。
作者: 踏雪风暴    时间: 2014-7-5 20:07
郑众杰 发表于 2014-7-5 17:49
你去查看API文档,能知道 PrintStream 有 print(char[]) 的overload 方法,打印arr的数据就是这里实现的。 ...

可以理解为只有这一个特例吗
作者: 多此一举    时间: 2014-7-5 20:19
不明白 ,请大神指教
作者: 踏雪风暴    时间: 2014-7-5 20:24
郑众杰 发表于 2014-7-5 17:49
你去查看API文档,能知道 PrintStream 有 print(char[]) 的overload 方法,打印arr的数据就是这里实现的。 ...

3Q~~~技术分等你拿:D:D:D
作者: 张盼    时间: 2014-7-5 20:29

打印数组中的元素要通过遍历才能打印:
char[] chs = {'x','a','d'};
for(char ch : chs) {
  System.out.println(ch);
}
作者: jesssy    时间: 2014-7-5 22:03
你定义的是char  类型的    打印的不就是  char类型吗
作者: zy524488    时间: 2014-7-5 22:28
这是print里的一个方法具体在api文档里有
作者: 玉冰竹    时间: 2014-7-5 22:29
我开始也觉得是打印的地址 , 但是运行后发现结果跟想象不同啊 . . . 坐等大神来解答
作者: 踏雪风暴    时间: 2014-7-8 12:09
郑众杰 发表于 2014-7-5 17:49
你去查看API文档,能知道 PrintStream 有 print(char[]) 的overload 方法,打印arr的数据就是这里实现的。 ...

哈哈哈~~~




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