gpt4 book ai didi

java - 在 Java 中使用 '=' 与 clone()

转载 作者:行者123 更新时间:2023-12-01 18:27:02 25 4
gpt4 key购买 nike

我正在编写一些代码,并试图找出如何将对象引用复制到另一个对象。我不断看到使用的clone()方法,但我读到它有缺陷,并且我想要复制的类已经实现了可序列化。所以我的一个问题是关于使用“=”和克隆方法之间的区别 - 我的理解是,这两种方法都是浅拷贝,因此它们应该工作相同,但如果这是真的,那么拥有一种方法有什么好处为此?

我正在处理的代码有 2 个对象数组 - 都是相同类型的对象,两个数组中的所有对象最初均为 null,并且我将数组 B 的值分配给相等的数组 A。随着代码的进行,数组 A 中的对象被初始化,并且值被分配给数组 A 中对象的变量。但在代码结束时,数组 B 中的所有对象仍然为 null。

我这里的概念有误吗?如果这个概念没有错误,我认为这只是我在代码中忽略的东西。

感谢任何帮助。

最佳答案

我会将我的评论作为答案:

你的问题是比较苹果和橙子,它们完全不同,无法比较。 = 分配一个引用,就是这样。克隆创建一个完全新对象,其状态应该与克隆对象相同,但它又是一个完全不同的对象/引用。顺便说一句,克隆有深拷贝和浅拷贝之分,因此浅拷贝克隆的复合字段可能是相同的,但这是另一个问题的主题。

关于java - 在 Java 中使用 '=' 与 clone(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25777659/

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