每当我尝试将 char 数组打印到控制台时,我都会得到整数格式的结果,但每当我尝试将整数数组打印到控制台时,我都会得到哈希码格式的结果。谁能告诉我为什么?
char[] arr={'4','5','6'};
System.out.println(arr); //456
int[] arr={4,5,6};
System.out.println(arr) //[I@3e25a5]
最佳答案
java.io.PrintStream
(System.out
的类)有一个特殊的 print
-method for char[]
,但不适用于 int[]
。所以对于 char[]
,使用了这个特殊的方法,而 int[]
是通过通用版本打印的,它打印哈希码(或者更准确地说, String.valueOf()
以对象作为参数调用的结果。
关于java - Java中打印方法的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2274654/