gpt4 book ai didi

java - JAVA对象创建

转载 作者:行者123 更新时间:2023-12-01 16:33:14 25 4
gpt4 key购买 nike

Possible Duplicate:
What is the difference between “text” and new String(“text”) in Java?

请解释以下两种说法之间的简要和详细区别:

String a= "somevalue";
String b = new String("somevalue");

我知道第二条语句创建字符串对象并为其提供内存 b在堆中。但为什么反对a没有获得内存,并且仍然允许对字符串方法进行操作。

最佳答案

ab 是对对象的引用,而不是对象的引用。

当您执行a = b;时,它不会复制对象,而是复制对对象的引用。

字符串内部有一个 char[],它是另一个对象。

a 获取对现有对象的引用,因此它可能不需要任何额外的内存。

b 获取对新创建对象的引用,以便需要更多内存。

its still allowed to operate on string methods.

这与对象的创建方式无关。

关于java - JAVA对象创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12297176/

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