gpt4 book ai didi

java - 一个让我困惑的简单字符串查询

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:55:31 24 4
gpt4 key购买 nike

我是 Java 新手,想知道 friend 问的这个问题背后的逻辑。

说字符串池是空的

程序员执行

String str = new String("Raj");

将因此创建多少对象。

我的 friend 说将创建 3 个对象,但不知道其背后的逻辑。

谁能指导我如何创建 3 个对象。

最佳答案

创建了两个 String 对象,一个是 String literal "Raj",一个是由 new String(...) 创建的中间 String 对象。

可以说还有另一个(第 3 个)对象,它是字符串文字内部的 char[],您可能还想数一数,它是一个对象 - 但不是一个字符串对象。 (新字符串将使用相同的 char[],并且不会创建新字符串)


编辑:@jdphenix 指出,每个创建的对象也是 Object 的子类,因此包含它的一个实例,(您可以将它转换为 Object并按原样使用它)。因此,从技术上讲,这里实际上创建了 3 个以上的对象 - 但其中只有 2 个是 String 对象。

关于java - 一个让我困惑的简单字符串查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25543314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com