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

利用序列化实现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;
	    }
	
}