import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class DeepCopyBean implements Serializable {
private static final long serialVersionUID = 1L;
private String objectField;
private int primitiveField;
public String getObjectField() {
return objectField;
}
public void setObjectField(String objectField) {
this.objectField = objectField;
}
public int getPrimitiveField() {
return primitiveField;
}
public void setPrimitiveField(int primitiveField) {
this.primitiveField = primitiveField;
}
/**
* 深度拷贝
* @return
*/
public DeepCopyBean deepCopy() {
try {
ByteArrayOutputStream buf = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(buf);
out.writeObject(this);
ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(buf.toByteArray()));
return (DeepCopyBean)in.readObject();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
}