奇怪的toCharArray()行为

jmi*_*hra 3 java arrays char

我正在尝试toCharArray()并发现一些奇怪的行为.

假设 private static final char[] HEX_CHARS = "0123456789abcdef".toCharArray();

 System.out.println(HEX_CHARS);

  /* prints 0123456789abcdef */

 System.out.println("this is HEX_CHARS "+HEX_CHARS); 
  /* prints [C@19821f */
Run Code Online (Sandbox Code Playgroud)

这背后的理论原因是什么?

MAV*_*MAV 8

这是因为println两个调用中的参数to 是不同的.

调用第一个参数char[],第二个参数用字符串HEX_CHARS调用,通过调用转换为.toString().

println()具有一个接受charArray的重写方法.