这是java中首选的方法copy()或clone()

时间:2015-07-20 06:21:27

标签: java copy clone

我有一个要求,我需要从现有对象生成Object。我无法选择使用clone()或copy()的方法。

情况是用户单击按钮说复制/克隆我需要生成具有现有员工数据的新Employee对象。

提前致谢

1 个答案:

答案 0 :(得分:1)

在定义类时使用Clonable接口,创建一个返回类型为Object的克隆函数,此函数将抛出CloneNotSupportedException并返回克隆:

public class YourClass implements Cloneable{
    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}

并在创建对象时,使用克隆函数,如下所示:

YourClass obj = new YourClass();
YourClass objCopy = (YourClass) obj.clone(); 

以下是您可以从中受益的reference

修改

您也可以使用复制构造函数,这是一种比克隆更好的方法:

class YourClass {
  private String dummy;

  public YourClass (YourClass another) {
    this.dummy = another.dummy; 
  }
}

您的电话

YourClass class1 = new YourClass();
YourClass clone = new YourClass(class1);