对象序列化实现深度克隆

/**
	 * Discription:[深度复制方法,需要对象及对象所有的对象属性都实现序列化]
	 */
	public BaseGUIBean deepClone() throws Exception {
		BaseGUIBean distObject = null;

		// 将该对象序列化成流,因为写在流里的是对象的一个拷贝,而原对象仍然存在于JVM里面。所以利用这个特性可以实现对象的深拷贝
		ByteArrayOutputStream bos = new ByteArrayOutputStream();
		ObjectOutputStream oos = new ObjectOutputStream(bos);
		oos.writeObject(this);

		// 将流序列化成对象
		ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
		ObjectInputStream ois = new ObjectInputStream(bis);
		distObject = (BaseGUIBean) ois.readObject();

		return distObject;
	}


posted @ 2013-08-06 19:02  pangbangb  阅读(172)  评论(0编辑  收藏  举报