在組成一些數組時,我注意到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
提交
取消