java如何对list进行深度复制

来源:互联网 发布:社交媒体 大数据 编辑:程序博客网 时间:2024/06/06 07:06

在开发过程中,一直以为list的addAll方法会对list做深度复制,然后经过实际的坑之后发现并不然,于是在热心网友的帮助下,找到一个相对比较靠谱简单的深度复制的方法,做一下笔记,代码如下:

 public static <T> List<T> deepCopy(List<T> src) {        try {            ByteArrayOutputStream byteOut = new ByteArrayOutputStream();            ObjectOutputStream out = new ObjectOutputStream(byteOut);            out.writeObject(src);            ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray());            ObjectInputStream in = new ObjectInputStream(byteIn);            @SuppressWarnings("unchecked")            List<T> dest = (List<T>) in.readObject();            return dest;        } catch (IOException e) {            e.printStackTrace();        } catch (ClassNotFoundException e) {            e.printStackTrace();        }        return null;    }
0 0
原创粉丝点击