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;
}
}
深度拷贝
最新推荐文章于 2025-10-20 15:29:35 发布
本文介绍了一种使用Java序列化实现对象深拷贝的方法。通过将对象转换为字节流再重构新对象的方式,确保了拷贝过程中原始对象与新对象完全独立,适用于需要复制复杂对象且保持数据完整性的场景。
262

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



