克隆对象时如何修复克隆错误

时间:2019-07-16 09:33:01

标签: java

我想克隆一个我创建的对象,但这给了我这样的错误:

  

类型不匹配:无法从Object转换为Teste

我将在下面保留代码,我需要知道如何解决此错误以及需要多少个构造函数才能使代码运行。

public static void main(String[] args) {

    Teste e1 = new Teste( "p2");
    Teste e2 = new Teste( "p2", 12.4f );
    Teste e3 = e1;
    Teste e4 = e2.clone();

}

2 个答案:

答案 0 :(得分:0)

您必须遵循2条规则以使自定义对象在Java中可克隆:

  1. 您必须实现Cloneable接口。
  2. 您必须重写Object类中的clone()方法。

答案 1 :(得分:0)

您应遵循2条规则。  1.实现可克隆的接口  2. clone返回一个Object。你必须投

例如:

public class Teste implements Cloneable {
private String firstdata;
private float fdata;

public Teste(String data) {
    this.firstdata = data;
}

public Teste(String data, float fdata) {
    this.firstdata = data;
    this.fdata = fdata;

}

public static void main(String[] args) {

    Teste e1 = new Teste("p2");
    Teste e2 = new Teste("p2", 12.4f);
    Teste e3 = e1;
    try {
        Teste e4 = (Teste) e2.clone();
        System.out.println(e4.firstdata);
        System.out.println(e4.fdata);

    } catch (CloneNotSupportedException e) {
        System.out.println("Error Occured");
        e.printStackTrace();
    }

}

}