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

利用序列化将java对象深拷贝

2010-08-15 15:30 471 查看
public Object deepClone() throws IOException, OptionalDataException,
			ClassNotFoundException {
		// 将对象写到流里
		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());
	}


对象所属的类要实现Serializable接口。同时将该方法写入到对象所属的类中。

深拷贝的时候,调用该方法即可。

this.tempTreatHistory = (TreatHistory) this.treatHistory
						.deepClone();// 将旧病历记录下来放在一个临时的变量中


上面这段代码的意思就是将treatHistory深拷贝到一个临时变量中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: