package beanCopy;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
public class SerializeTest {
public static void main(String[] args) throws IOException, ClassNotFoundException {
Son son=new Son("qwer", "15");
List sons=new ArrayList<Son>();
sons.add(son);
Person p1=new Person("zs", "30",sons);
ByteArrayOutputStream bos=new ByteArrayOutputStream();
ObjectOutputStream oos=new ObjectOutputStream(bos);
oos.writeObject(p1);
ByteArrayInputStream bis=new ByteArrayInputStream(bos.toByteArray());
ObjectInputStream ois=new ObjectInputStream(bis);
Person p2=(Person) ois.readObject();
System.out.println(p1);
System.out.println(p2);
}
}
class Person implements Serializable{
private String name;
private String age;
private List<Son> sons;
/*@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + ", sons=" + sons + "]";
}*/
public Person(String name, String age, List<Son> sons) {
super();
this.name = name;
this.age = age;
this.sons = sons;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
class Son implements Serializable{
private String name;
private String age;
/*@Override
public String toString() {
return "Son [name=" + name + ", age=" + age + "]";
}*/
public Son(String name, String age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
輸出