首页 > 编程语言 > 详细

Java对象的深复制----利用串行化进行深复制

时间:2015-08-11 07:00:59      阅读:271      评论:0      收藏:0      [点我收藏+]

把对象写到流里的过程是串行化(Serilization)过程,但是在Java程序圈里又非常形象地称为“冷冻”或者“腌咸菜”过程;而把对象从流中读出来的并行化(Deserialization)过程则叫做“解冻”或者“回鲜”过程。应当指出的是,写到流里的是对象的一个拷贝,而原来对象仍然存在于JVM里面,因此“腌成咸菜”的只是对象的一个拷贝。

在Java语言里深复制一个对象,常常可以先使对象实现Serializable接口,然后把对象(实际上只是对象的一个拷贝)写到一个流里(腌成咸菜),再从流里读回来,便可以重建对象。

public class DeepCopyDemo implements Serializable{
	public Object deepClone() throws Exception
	{
		//将对象写到流里
		ByteArrayOutputStream bo=new ByteArrayOutputStream();
		ObjectOutputStream oo=new ObjectOutputStream(bo);
		oo.writeObject(this);
		//将对象读出来
		ByteArrayInputStream bi=new ByteArrayInputStream(bo.toByteArray());
		ObjectInputStream oi=new ObjectInputStream(bi);
		return (oi.readObject());
	}
}

 

Java对象的深复制----利用串行化进行深复制

原文:http://www.cnblogs.com/xtsylc/p/4719806.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!