Java Array Char和String在数组中的区别[重复]
Posted
技术标签:
【中文标题】Java Array Char和String在数组中的区别[重复]【英文标题】:Java Array Char And String Difference In Array [duplicate] 【发布时间】:2018-12-02 06:37:05 【问题描述】:在制作一些数组时,我注意到
char[] javaArray = 'j','a','v','a';
打印出来
java
但是
String[] javaStringArray = "j","a","v","a";
只打印堆栈位置。我知道 char 和 String 都非常不同,但是 JVM 怎么知道第一个输出字符而第二个只输出一个堆栈位置?
我正在使用 IntelliJ 和命令 System.out.println(javaArray);
【问题讨论】:
char[] javaArray = 'j','a','v','a'
在哪里打印java
?
你的打印效果如何?
与其将println
的用法添加到最后,不如在开头突出显示。
【参考方案1】:
发生这种情况是因为PrintStream
对char[]
有一个特殊的覆盖,但它缺少对String[]
和其他数组类型的这种覆盖:
PrintStream.println(char[] x)
如果您在打印时在javaArray
上调用toString()
,结果看起来与您打印String[]
时得到的结果相似:
char[] javaArray = 'j','a','v','a';
System.out.println(javaArray.toString()); // Prints something like [C@1540e19d
【讨论】:
不知道这个存在...! @ErnestKiwele 我也没有 - 结果让我感到意外,所以我不得不查一下。 很好的解释!!以上是关于Java Array Char和String在数组中的区别[重复]的主要内容,如果未能解决你的问题,请参考以下文章