zoukankan      html  css  js  c++  java
  • Java深度复制List内容。

    最近在工作的时候,有一个小需求,需要复制List的内容,然后会改变其中的数据,但是试了几种复制的方法,都是将原有的数据和复制后的数据都改变了,都没有达到我想要的效果。
    其中涉及到了 “浅复制”和“深复制”的概念,这里不多说,可以参考这篇浅复制和深复制。我只记录了这一个深复制的代码,网上找的其它的深复制,好像不起作用。下面是代码:

    /**
         * 深度拷贝
         * @param src
         * @param <>
         * @return
         * @throws IOException
         * @throws ClassNotFoundException
         */
        public static <T> List<T> deepCopy(List<T> src) throws IOException, ClassNotFoundException {
            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;
        }
    

    总结

    工作中记录一下,下次方便使用。

  • 相关阅读:
    var_threshold
    一些动态绑定数据代码
    直线与圆的拟合测量
    圆的拟合__测量圆心距
    halcon骨架与xld的区分
    dyn_threshold
    模板匹配加测量Demo
    ToString 格式
    S7-200 运动控制
    环形图片识别
  • 原文地址:https://www.cnblogs.com/black-spike/p/9722320.html
Copyright © 2011-2022 走看看