为什么说我们不需要克隆不可变的类?

dgu*_*091 3 java clone immutability

不可变类只是其实例无法修改的类。不可变类非常适合缓存,并且是线程安全的。不变对象是实例,实例一旦启动就不会改变。

而对象克隆是指创建对象的精确副本。它创建当前对象类的新实例,并使用该对象相应字段的内容完全初始化其所有字段。

现在,出现了一个问题,为什么它说我们不需要克隆一个不可变的类?

是因为创建已经用于缓存目的的数据的精确副本会添加到系统中创建的垃圾中,并可能减慢应用程序的速度。还是其他一些相关的答案呢?

Era*_*ran 7

如果要在不更改原始对象状态的情况下更改副本状态,则通常会创建对象的副本(克隆)。

由于不能更改不可变类的对象的状态,因此可以使用原始对象而不会更改其状态。