Java 如何修复克隆对象时的克隆错误
我想克隆一个我创建的对象,但它给了我一个如下错误: 类型不匹配:无法从对象转换为Teste 我将在下面留下代码,我需要知道如何解决这个错误,以及需要多少构造函数才能使代码运行Java 如何修复克隆对象时的克隆错误,java,Java,我想克隆一个我创建的对象,但它给了我一个如下错误: 类型不匹配:无法从对象转换为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();
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();
}
要使自定义对象在java中可克隆,必须遵循两条规则:
2.克隆返回一个对象。你必须投 例:
}首先,您应该遵循Java命名约定:类名是用PascalCase编写的,这意味着它们以大写开头。clone返回一个对象。你必须投
testee4=(teste)e2.clone()代码>第二,共享teste
类的代码(您应该将其重命名为teste
)。您需要显式地返回到相应的type@MCEmperor我知道我应该这样做,这只是一个测试代码,所以我可以学习克隆的基础知识,谢谢你的洞察力。
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();
}
}