gpt4 book ai didi

java - 如果我有 2 个引用类型,具有相同的值,是否意味着内存中只有 1 个对象

转载 作者:搜寻专家 更新时间:2023-11-01 00:59:31 26 4
gpt4 key购买 nike

我是 Java 的新手,并且阅读了与我所相信的相矛盾的陈述。请考虑以下代码。

String str1 = "dave";
String str2 = "dave";

str1 和 str2,虽然是唯一的变量,但引用了完全相同的值。那么,在内存中创建了多少个唯一对象呢? 1 或 2,有人可以解释为什么吗?

最佳答案

在您的示例中,它们引用同一个对象,因为字符串是 interned .

通常,new 的使用会创建新对象,因此使用:

String str1 = new String("dave");
String str2 = new String("dave");

会在堆中创建两个不同的对象。

关于java - 如果我有 2 个引用类型,具有相同的值,是否意味着内存中只有 1 个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15434070/

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