想对一个对象进行处理,又想保留原有的数据,就需要克隆对象了
克隆对象又分浅克隆和深克隆浅克隆后的对象中非基本对象指向同一块内存,因此对这些非基本对象的修改会同时更改克隆前后的对象。
深克隆可以实现完全的克隆,可以用反射的方式或序列化的方式实现
代码实现package object;
public class copy {
public static void main(String[] args){
//在Parson对象添入数据
Parson p=new Parson();
p.name="mali";
p.age=16;
//方法克隆对象
myOp to=new myOp();
Parson p2=to.copyOp(p);
System.out.println("p的属性:"+p.name+","+p.age);
System.out.println("p2的属性:"+p2.name+","+p2.age);
System.out.println(p==p2);
}
}
class Parson{
String name;
int age;
}
class myOp{
public Parson copyOp(Parson p){
Parson p2=new Parson();
p2.name=p.name;
p2.age=p.age;
return p2;
}
}
结果
p的属性:mali,16 p2的属性:mali,16 false



