当你说
System.out.println(b);
这导致了一个呼叫
print(char[] s),然后
println()
JavaDoc
print(char[] s)表示:
打印一个字符数组。这些字符将根据平台的默认字符编码转换为字节,并且这些字节将完全按照write(int)方法的方式写入。
因此它执行逐字节打印。
当你说
System.out.println("char[] b: " + b);它会导致对的调用
print(String),因此您实际要做的是将
Stringan 追加到对-
Object进行调用的an
toString()上,
Object这与
Object默认情况下一样,对于an
Array,会打印引用的值(内存地址)。
您可以这样做:
System.out.println("char[] b: " + new String(b));请注意,这在某种意义上是“错误的”,即您不介意编码并且正在使用系统默认值。尽早了解编码。



