猿问

Java数组字符和数组中的字符串差异

在组成一些数组时,我注意到

char[] javaArray = {'j','a','v','a'};

打印出来

java

String[] javaStringArray = {"j","a","v","a"};

仅打印堆栈位置。我知道char和String都非常不同,但是JVM怎么知道第一个输出chars,第二个只输出堆栈呢?

我正在使用IntelliJ和命令 System.out.println(javaArray);


慕丝7291255
浏览 184回答 1
1回答

喵喔喔

发生这种情况是因为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
随时随地看视频慕课网APP

相关分类

Java
我要回答