package com.zwy.prototype;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.List;
public class ConcreatePrototypeA implements Prototype{
private int age;//年龄
private String name;//姓名
private List hobbies;//爱好
@Override
public Prototype cloneB() {
// TODO Auto-generated method stub
ConcreatePrototypeA concreatePrototypeA = new ConcreatePrototypeA();
concreatePrototypeA.setAge(this.age);
concreatePrototypeA.setName(this.name);
concreatePrototypeA.setHobbies(this.hobbies);
return concreatePrototypeA;
}
public Prototype deepClone() throws Exception {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(this.hobbies);
ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
ObjectInputStream ois = new ObjectInputStream(bis);
List<String> copy = (List<String>)ois.readObject();
ConcreatePrototypeA concreatePrototypeA = new ConcreatePrototypeA();
concreatePrototypeA.setAge(this.age);
concreatePrototypeA.setName(this.name);
concreatePrototypeA.setHobbies(copy);
return concreatePrototypeA;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List getHobbies() {
return hobbies;
}
public void setHobbies(List hobbies) {
this.hobbies = hobbies;
}
}

6763

被折叠的 条评论
为什么被折叠?



