我想建立一个方法来深拷贝类:深度复制尝试
public MyClass clne() {
MyClass cpy = new MyClass();
cpy.var1 = getVar1(); //getVar1 is a method returning the value of var1
cpy.var2 = getVar2();
return cpy;
}
然而,当我运行:
MyClass x = new MyClass();
x.var1 = 18;
MyClass y = x.clne();
y.myMethod(); // Where myMethod is a method changing the value of var1 to, say 4.
System.out.println(x.var1);
x.var1的值是4
我做错了什么? 谢谢:)
发布更多验证码? – Patashu 2013-03-22 00:00:54
'var1'和'var2'的类型是什么?他们是“int”吗? 'Integer'? – rgettman 2013-03-22 00:01:53
即使它是'Integer',当然''Integer'是不可变的吗? – Patashu 2013-03-22 00:02:20