以简单的方式创建对象的副本

时间:2015-07-08 12:53:06

标签: java

请考虑以下代码:

Project project1 = new Project("string1","string2","string3","string4","string5", ...);
Project project2 = project1;

此处,project2不是project1的副本,因为它指向同一个对象。 它表明,如果我编辑project2,它也会编辑project1

我希望project2独立于project1。 我想我可以使用Project param创建一个构造函数,如:

public Project(Project project) {
    this.string1 = project.getString1();
    this.string2 = project.getString2();
    ...
}

我的情况是,我的Project类中有15个属性,所以这样做需要我编写一个很大的构造函数。

有更好的方法吗? :)

谢谢!

1 个答案:

答案 0 :(得分:2)

不,没有更好的方法可以做到这一点。你可以使用clone,但是......不要。 Don't use clone.