List 深拷贝

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.List;


public class ListUtils {


    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 (ClassNotFoundException e) {
            e.printStackTrace();
            return null;
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }

}

 

 

或者还可以

//result 是原list数据
List<Map<String, Object>> maps = new ArrayList<>(); for (Map<String, Object> objectMap : result) { maps.add((Map<String, Object>)SerializationUtils.clone((Serializable)objectMap)); }

 

posted @ 2021-07-26 08:52  终老*  阅读(495)  评论(0)    收藏  举报
Live2D 看板娘 v1.4 / Demo 3