您的位置:首页 > 编程语言 > Java开发

Java深拷贝除了通过实现Cloneable接口,另外还可以通过序列化实现对象的拷贝。

2014-01-10 16:29 603 查看
代码如下:
import java.io.Serializable;

public class CloneUtils {
public static <T extends Serializable> T Clone(T obj) {
T cloneObj = null;
try {
//字节数组流写入内存缓冲区
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(obj);
oos.close();

//读取内存缓冲区数据,转换为字节
ByteArrayInputStream bai = new ByteArrayInputStream(
baos.toByteArray());
ObjectInputStream ois = new ObjectInputStream(bai);
cloneObj = (T) ois.readObject();
ois.close();
} catch (Exception ex) {
ex.printStackTrace();
}
return cloneObj;
}
被拷贝的类,需要实现序列化接口Serializable接口。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐