【问题标题】:If String is an object, but unlike Array(which is also an object), why can we directly print out its value?如果 String 是一个对象,但不像 Array(它也是一个对象),为什么我们可以直接打印出它的值呢?
【发布时间】:2019-11-28 16:33:12
【问题描述】:

我对它在内存中的工作方式感到困惑。对于对象,变量应该包含对该对象的引用。因此,在打印的时候,会打印出包含该对象的地址。这是在数组的情况下。我了解字符串文字与字符串对象。字符串文字---> 通用池。但我只是对它在内存中的工作方式感到困惑。从技术上讲,字符串变量应该包含对字符串对象的引用。

【问题讨论】:

  • String 变量 is 只是对 String 实例的引用。与所有其他 Object 类型相同。 String 覆盖 Object.toString()Array 没有。

标签: java arrays string reference heap-memory


【解决方案1】:

我想这是因为 toString 方法,当您尝试打印任何对象时会访问 with。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多