利用序列化和反序列化可以实现对象的深拷贝,具体步骤如下:
- 将要深拷贝的对象序列化为字节流。
- 从字节流中反序列化出一个新的对象,即完成了深拷贝。
下面是一个示例代码:
import java.io.*;class MyClass implements Serializable {private static final long serialVersionUID = 1L;private String name;public MyClass(String name) {this.name = name;}public String getName() {return name;}// 实现深拷贝方法public MyClass deepCopy() {try {// 将对象序列化为字节流ByteArrayOutputStream bos = new ByteArrayOutputStream();ObjectOutputStream oos = new ObjectOutputStream(bos);oos.writeObject(this);// 从字节流中反序列化出新的对象ByteArrayInputStream bis = new ByteArrayInputStream