gpt4 book ai didi

java - 了解 DeepCopy 概念

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

我正在阅读有关 Hiberante 中所谓的 UserType 的内容,它声明了 deepCopy(Object) 方法。作者建议我们对 immutable 类使用以下实现:

Because MonetaryAmount is an immutable class, the deepCopy() method returns its argument.

为什么?我认为deepCopy实现如下:

public Object deepCopy(Object value) throws HibernateException {
return value;
}

实际上是一个副本。我错过了什么?

最佳答案

不可变对象(immutable对象)不能改变它的状态。所以如果你返回相同的对象并不重要。因为无论如何都无法对其进行修改。因此,当根本没有没有副本时,它实际上就像一个deepCopy

让我们以字符串为例。

String s1 = "hello";
String s2 = new String(s1);
String s3 = s1;

无论您对任何变量执行什么操作,都不会影响其他两个变量。

关于java - 了解 DeepCopy 概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31581288/

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