gpt4 book ai didi

java - 方法创建新实例

转载 作者:行者123 更新时间:2023-12-02 06:02:26 26 4
gpt4 key购买 nike

当一个方法返回一个对象时,该方法是否会自动创建一个新的实例内存中的那个对象?

例如:

Java BigInteger class 中,我使用 add 方法,其中 num1num2,可以说,是BigIntegers

num1.add(num2);

然后我通过与以下相同的类型引用它:

BigInteger a = num1.add(num2);

这可以工作并获取正确的数据。那么该方法将在堆栈上创建该对象的新实例

只是确保我的假设是正确的。

谢谢。

最佳答案

bigInteger.add() 确实返回一个新实例,但并非所有方法都会返回。

通常返回您可能经常遇到的新对象实例的是:

  • 构造函数
  • 工厂/建筑商
  • 对不可变对象(immutable对象)进行操作的方法

BigIntegeradd method says that it returns a BigInteger ,并没有说一个new BigInteger,但考虑到 docs also state that BigInteger is immutable ,那么你可以知道它没有返回经过修改的 this 对象,因此它很可能是一个新对象(我认为可能是某个已经代表该状态的缓存对象,但即使它是,您对 BigInteger 的使用不会改变。)。

关于java - 方法创建新实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22566125/

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