java的数组输出问题

来源:百度知道 编辑:UC知道 时间:2024/05/10 05:37:16
我定义了一个char[] a={'a','b','c'};
调用System.out.println(a);输出abc
在定义一个byte[] b={1,2,3};
调用System.out.println(b);输出[B@6b97fd
为什么不是输出123啊?

以下为猜测:
System.out.println的参数为Object的时候会去调用
System.out.println(Object.toString)

而char[]的toString方法是new String(char[]);

我胡说的,说对了就说对了,说错了大家不要笑

多个CHAR在输出的时候会转换成STRING类型的,而BYTE不是,你看到的[B@6b97fd 这个变量在内存中的地址