在组成一些数组时,我注意到char[] javaArray = {'j','a','v','a'};打印出来java但String[] javaStringArray = {"j","a","v","a"};仅打印堆栈位置。我知道char和String都非常不同,但是JVM怎么知道第一个输出chars,第二个只输出堆栈呢?我正在使用IntelliJ和命令 System.out.println(javaArray);
1 回答
喵喔喔
TA贡献1735条经验 获得超5个赞
发生这种情况是因为PrintStream具有的特殊替代char[],但缺少对String[]和其他数组类型的替代:
PrintStream.println(char[] x)
如果你调用toString()上javaArray打印时,打印时你会得到什么结果将类似于String[]:
char[] javaArray = {'j','a','v','a'};
System.out.println(javaArray.toString()); // Prints something like [C@1540e19d
添加回答
举报
0/150
提交
取消