浅拷贝调用方法:
遍历循环复制:
List<String> destList=new ArrayList<String>(srcList.size());
for(String p : srcList){
destList.add(p);
}
使用list.addAll()方法:
List<String> destList=new ArrayList<String>();
destList.addAll(srcList);
深拷贝调用方法:
调用:
List<String> destList=deepCopy(srcList);
序列化实现方法:
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;
}
原deepCopy方法地址:
(1) https://www.pianshen.com/article/17271053790/
参考地址:
(1) https://www.cnblogs.com/qingzhongcao/p/14681748.html
(2) https://blog.csdn.net/xmtblog/article/details/116868273
(3) https://blog.csdn.net/zbw125/article/details/116270576? utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-0.pc_relevant_default&spm=1001.2101.3001.4242.1&utm_relevant_index= 3
版权声明:本文为langxiaolin原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。