我正在尝试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)
这背后的理论原因是什么?
这是因为println两个调用中的参数to 是不同的.
调用第一个参数char[],第二个参数用字符串HEX_CHARS调用,通过调用转换为.toString().
该println()具有一个接受charArray的重写方法.