java中,为什么char类型数组可以直接用数组名打印,其它类型数组是地址值
char类型的数组就相当于一个字符串。
因为输出流System.out是PrintStream对象,PrintStream有多个重载的println方法,其中一个就是public void println(char[] x),直接打印字符数组的话,不像int[]等其他数组,它会直接调用这个方法来打印,因而可以打印出数组内容,而不是地址。
public class base_day01 {
public static void main(String[] arg)
{
char[] cArr ={'北', '京'};
System.out.println(cArr);
System.out.println(Arrays.toString(cArr));
int[] iArr = {1,2};
System.out.println(iArr);
System.out.println(Arrays.toString(iArr));
String[] sArr = {"人","民"};
System.out.println(sArr);
System.out.println(Arrays.toString(sArr));
}
}
北京
[北, 京]
[I@6aa553e2
[1, 2]
[Ljava.lang.String;@c265121
[人, 民]
————————————————