【java记录】序列化拷贝

 1 public static <T extends Serializable> T clone(T obj) {
 2         T cloneObj = null;
 3         try {
 4             // 写入字节流
 5             ByteArrayOutputStream out = new ByteArrayOutputStream();
 6             ObjectOutputStream obs = new ObjectOutputStream(out);
 7             obs.writeObject(obj);
 8             obs.close();
 9             // 分配内存,写入原始对象,生成新对象
10             ByteArrayInputStream ios = new ByteArrayInputStream(out.toByteArray());
11             ObjectInputStream ois = new ObjectInputStream(ios);
12             // 返回生成的新对象
13             cloneObj = (T) ois.readObject();
14             ois.close();
15         } catch (Exception e) {
16             logger.error("拷贝失败:"+e);
17         }
18         return cloneObj;
19     }

 

posted @ 2019-11-19 14:22  carsonwuu  阅读(222)  评论(0编辑  收藏  举报