`
g4_gc
  • 浏览: 65260 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics