读书人

利用序列化兑现java对象的深度复制

发布时间: 2012-08-27 21:21:57 作者: rapoo

利用序列化实现java对象的深度复制

package com.cs.common.util;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;/** * @author  * @version 1.0 */public class CloneUtils {/** * 利用序列化实现java对象的深度复制 *  * @param srcObj * @return */ public static Object depthClone(Object srcObj) {        Object cloneObj = null;        try {            ByteArrayOutputStream out = new ByteArrayOutputStream();            ObjectOutputStream oo = new ObjectOutputStream(out);            oo.writeObject(srcObj);            ByteArrayInputStream in = new ByteArrayInputStream(out                    .toByteArray());            ObjectInputStream oi = new ObjectInputStream(in);            cloneObj = oi.readObject();        } catch (IOException e) {            e.printStackTrace();        } catch (ClassNotFoundException e) {            e.printStackTrace();        }        return cloneObj;    }}

读书人网 >软件架构设计

热点推荐