{"title":"public class DetailRouteMapData {\n /*唯一编号(取系统时间戳)/\n long id;\n /*训练场ID 或者 项目路线ID/\n long dependId;\n /*线名称/\n String name;\n /**线宽度(如果是圆则为直径)/\n int width;\n /线颜色/\n int color;\n /\n * 线类型\n * 基础线:1000-实线 1001-虚线 1002-停止线 1003-圆形 1004-禁停区域 1005-斑马线区域\n * 1006-掉头 1007-掉头左转 1008-掉头直行 1009-掉头左转直行\n * 1010-左转 1011-左转直行 1012-直行 1013-右转直行 1014-右转\n * 1015-左转直行右转 1016-左转右转\n * 项目线:按照项目列表Project中编号来\n * /\n int type;\n\n //!!!!!项目区域采集需要三条线(点的集合)组成一个项目!!!!!\n /**第一条线上点的集合(项目区域情况下),线上点的集合(基础线、区域情况下)/\n List ptList1;\n /*第二条线上点的集合/\n List ptList2;\n /*第三条线上点的集合/\n List ptList3;\n}\n\nList detailRouteMapDataList = getDetailRouteMapDataListByTrainingGroundIdOrProjectRouteMapDataId(key);\njava如何对detailRouteMapDataList 进行深拷贝内容:在Java中,可以使用序列化和反序列化的方式进行深拷贝。下面是一个示例代码:\n\njava\nimport java.io.ByteArrayInputStream;\nimport java.io.ByteArrayOutputStream;\nimport java.io.ObjectInputStream;\nimport java.io.ObjectOutputStream;\nimport java.io.Serializable;\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class DetailRouteMapData implements Serializable {\n // 省略其他代码\n\n public List<DetailRouteMapData> deepCopyList(List<DetailRouteMapData> originalList) {\n List<DetailRouteMapData> copiedList = new ArrayList<>();\n\n try {\n ByteArrayOutputStream outputStream = new ByteArrayOutputStream();\n ObjectOutputStream objectOutputStream = new ObjectOutputStream(outputStream);\n objectOutputStream.writeObject(originalList);\n\n ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());\n ObjectInputStream objectInputStream = new ObjectInputStream(inputStream);\n\n copiedList = (List<DetailRouteMapData>) objectInputStream.readObject();\n } catch (Exception e) {\n e.printStackTrace();\n } \n\n return copiedList;\n }\n}\n\nList<DetailRouteMapData> detailRouteMapDataList = getDetailRouteMapDataListByTrainingGroundIdOrProjectRouteMapDataId(key);\nList<DetailRouteMapData> copiedList = new DetailRouteMapData().deepCopyList(detailRouteMapDataList);\n\n\n在上面的示例中,deepCopyList方法接受一个原始的detailRouteMapDataList列表作为参数,并返回一个深拷贝后的列表copiedList。通过将原始列表序列化为字节数组,然后再反序列化为新的列表,实现了深拷贝的效果。请确保DetailRouteMapData类和其成员变量都是可序列化的。

Java 深拷贝 List<DetailRouteMapData> 对象:实现深层复制

原文地址: https://www.cveoy.top/t/topic/qtao 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录