克隆时如何确保类对象拥有自己的副本

时间:2016-03-22 15:23:42

标签: object clone cloning

我在Java中克隆某个类的对象,并且当克隆该类的对象时,某个类的两个对象必须拥有自己的副本。

这个类中有多个方法,这两个对象都有不同的方法,我想知道如何解决这个问题。

到目前为止我只有:

    @Override
protected Object clone() {
    try {
        return super.clone();
    }
    catch (CloneNotSupportedException e) {
        throw new InternalError(e.toString());
    }
}

我是java新手,很抱歉,如果这个解释有点混乱!

1 个答案:

答案 0 :(得分:0)

目前还不清楚你想做什么。 是否希望克隆对象具有所有克隆的引用? 如果是,这可能是一个解决方案:

   private Array<Object> clones = new ArrayList<Object>();
  @Override
  protected Object clone() {
   try {
    Object clone = super.clone();
    clones.add(clone);
    return clone;
   }
   catch (CloneNotSupportedException e) {
    throw new InternalError(e.toString());
   }
  }