JAVA clone()将对象复制到其他类对象

时间:2013-10-21 18:24:06

标签: java

我想问你如何将firstClass对象复制到secondClass对象?

这可以通过使用clone()来解决吗?

情况如下:

我有一个类f.x.的Firstclass。我需要将firstClass对象克隆到secondClass对象(并且这些克隆对象必须存储到数组中)

由于

编辑:

抱歉收到一些信息。但我的任务看起来像这样:

编写一个Garage类,其对象可以容纳一定数量的Vehicle对象 阵列。使Garage成为Cloneable类型,并为其编写适当的克隆方法。写一个Garage.main 测试它的方法。

3 个答案:

答案 0 :(得分:3)

按照惯例,Object.clone()方法及其覆盖应始终返回原始类型的对象。

  

x.clone()。getClass()== x.getClass()

因此,如果正确实现和使用clone(),则应该无法创建不同类型的对象。

答案 1 :(得分:3)

这不是克隆。如果你有两个不相关的类,你可以做的最好是为SecondClass编写一个构造函数,它将FirstClass对象作为参数并将所有值写入适当的字段:

public SecondClass (FirstClass source){
  this.valueA = source.getValueA();
  this.valueB = source.getBValue();
  this.valueC = source.getProperCValue();
  ...
}

答案 2 :(得分:1)

这样的事情?!

class Foo{
  private String bar;
  public Object clone(){
    Foo f=new Foo();
    f.setBar(this.bar);
    //filling and copy the f attributes
    guys.add(f);
  }
   ///
   private final static List<Foo> guys=new ArrayList<>();
   ///
}