【发布时间】:2014-09-10 00:23:02
【问题描述】:
当我运行以下代码时,我得到了数组的地址:
int arr[] = {2,5,3};
System.out.println(arr); // [I@3fe993
但是当我声明一个字符数组并以相同的方式打印它时,它会给出数组的实际内容。为什么?
char ch[] = {'a','b','c'};
System.out.println(ch); // abc
【问题讨论】:
-
他们对
.toString()有不同的实现 -
您的链接是正确的。对不起。
-
答案似乎是:因为
PrintStream类有array of characters的方法,而没有任何其他原语的数组。 -
不要为@BobDalgleish 打死马,但他们没有有不同的实现。 Java 中的所有数组都有相同的
toString,也就是Object.toString。