【问题标题】:Java Array Char And String Difference In Array [duplicate]Java Array Char和String在数组中的区别[重复]
【发布时间】: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 的用法添加到最后,不如在开头突出显示。

标签: java arrays string char


【解决方案1】:

发生这种情况是因为PrintStreamchar[] 有一个特殊的覆盖,但它缺少对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 我也没有 - 结果让我感到意外,所以我不得不查一下。
  • 很好的解释!!
猜你喜欢
  • 2020-01-28
  • 2012-05-12
  • 2011-10-03
  • 1970-01-01
  • 1970-01-01
  • 2017-12-23
  • 2015-06-07
  • 2011-04-21
  • 2014-09-10
相关资源
最近更新 更多