如何实现对象的深度克隆

时间:2011-03-31 06:08:49

标签: java

  

可能重复:
  Java: recommended solution for deep cloning/copying an instance

使用Java,如何实现对象的深度克隆?

3 个答案:

答案 0 :(得分:3)

有一种实现深度克隆的方法是使用复制构造函数。

link

中的示例

希望得到这个帮助。

答案 1 :(得分:0)

有两种类型的副本:

  • 浅拷贝
  • 深层复制

浅层复制构造对象的新实例,但不为您的对象可能具有的字段构造新实例。 深度复制构造对象的新实例,并为对象可能具有的字段,这些字段等构建新实例。

您可以查看ArrayList的clone()方法以获取更多详细信息: 这是一个浅薄的副本。如果您想要深层复制,则必须克隆列表中包含的每个元素。

答案 2 :(得分:-1)

public class Person {
    private String name;
    private int age;

    // getters and setters.
}

// deep copy:
Person source = new Person("james", 20);
Person dest = new Person();
dest.setName(source.getName());
dest.setAge(source.getAge());