博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对象深度复制
阅读量:7165 次
发布时间:2019-06-29

本文共 1172 字,大约阅读时间需要 3 分钟。

import java.io.*;import java.util.ArrayList;import java.util.List;/** * @author lichujun * @date 2018/10/25 11:17 */public class Test {    /**     * 对象深度克隆     */    public static 
T clone(T obj, Class
tClass){ T cloneObj = null; try (ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos)) { //写入字节流 oos.writeObject(obj); //分配内存,写入原始对象,生成新对象 try (ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); ObjectInputStream ois = new ObjectInputStream(bais)) { //返回生成的新对象 cloneObj = tClass.cast(ois.readObject()); } }catch (Exception e){ e.printStackTrace(); } return cloneObj; } /** * List深度克隆 */ public static
List
clone(List
originList, Class
tClass) { List
desc = new ArrayList<>(); originList.forEach(it -> desc.add(clone(it, tClass)) ); return desc; } }复制代码

转载于:https://juejin.im/post/5cff0fb5f265da1b70049f01

你可能感兴趣的文章