public class Test {
public static void main(String[] args){
int[] a={1,2,3,4};
System.out.println(a);
char[] c={'a','b','c','d','e',};
System.out.println(c);
String[] str={"a","b","c"};
System.out.println(str);
}
}
分别是int,char,String类型的数组的直接输出,发现,只有char类型的数组输出的是内容,然后查看了相关的代码,如下:
public void println(Object x) { //①
String s = String.valueOf(x);
synchronized (this) {
print(s);
newLine();
}
}
public void println(char x[]) { //②
synchronized (this) {
print(x);
newLine();
}
}
以上是调用的代码②,发现只有char类型的输出是相应值;
其他情况将调用①,先将相应的数组转化成String类型,在输出的为地址。