java - Java中简单的深拷贝方法

标签 java clone

我正在尝试用 Java 进行深度复制。到目前为止,我已经在类(Example)中实现了以下方法,我想获取其对象的深拷贝(parameter1parameter2Example 类的构造函数创建后者的对象所需的参数):

public Example clone(){
   Example clone = new Example(this.parameter1, this.parameter2);
   return clone;
   }

所以基本上我通过调用相应类的构造函数并使用其当前属性作为该构造函数的参数来克隆一个对象。 我的问题是,这似乎有点太简单了,不太真实。特别是因为我在网上查找的解决方案要复杂得多。所以我想知道我的方法的魅力是什么。 任何提示/解释将不胜感激。

编辑: 这是Example类的构造函数:

public Example(double parameter1, double parameter2){
    this.parameter1 = parameter1;
    this.parameter2 = parameter2; 
    }

最佳答案

对于原语来说,它相对简单。但是,如果您有任何非原始字段,则仅使用该复制构造函数只会导致该对象的浅复制。这意味着您将在类之间的字段中使用相同的对象。

关于java - Java中简单的深拷贝方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59516141/

相关文章:

javascript - jQuery 克隆无法与可拖动一起使用

javascript - 克隆表单内容、更改属性、附加到 jQuery 或 vanilla JS 表单

JavaFX 应用程序线程变慢然后卡住

C# 泛型下限约束 "where MySubClass : T"(java 的 "super")

java - 使用GridBagLayout在一个面板中设置多个组件,但我不想填满整个面板

android - 如何防止NFC标签克隆?

javascript - jQuery clone() 多个列表并将每个列表附加到其原始列表

java - Mybatis spring改造参数

java - 我的 ImageView 的 Android 动画有什么问题?

javascript - jQuery 克隆形式增加名称、类、ID、数据 ID 等所有属性