当前位置: 首页 > news >正文

根据一个List生成另外一个List,修改其中一个,导致另外一个List也在变化

1、两个List复制

        SysDic aSysDic = new SysDic();
        aSysDic.setDkey("1");
        aSysDic.setDnote("12");
        SysDic bSysDic = new SysDic();
        bSysDic.setDkey("2");
        bSysDic.setDnote("23");
        SysDic cSysDic = new SysDic();
        cSysDic.setDkey("3");
        cSysDic.setDnote("34");
        List<SysDic> asList = new ArrayList<>();
        asList.add(aSysDic);
        asList.add(bSysDic);
        asList.add(cSysDic);
        List<SysDic> bsList = new ArrayList<>(asList);
        for (SysDic dic : bsList) {
            dic.setDkey(dic.getDnote());
        }
        System.out.println(asList);
        System.out.println(bsList);
        System.out.println(asList.size());
        System.out.println(bsList.size());

结果:

第一个对象和第二个对象完全相同,dkey都被改变了 

 2、可以看出来,1个List已经通过new关键字,重新生成了一个,但是List中包含的SysDic对象是相同的,你修改其中一个,另外一个也会发生变化。所以即使复制了List也无济于事,需要将List中的对象也复制一下才可以互不干扰。

http://www.lryc.cn/news/146229.html

相关文章:

  • Cesium 加载 geojson 文件并对文件中的属性值进行颜色设置
  • windows系统配置tcp最大连接数
  • SQL存储过程中 SET ANSI_NULLS ON 和 SET QUOTED_IDENTIFIER ON的作用和详解
  • C语言——程序执行的三大流程
  • 二级MySQL(十)——单表查询
  • 机器学习:无监督学习
  • 计算机网络之5层网络协议
  • 常见前端面试之VUE面试题汇总十一
  • 2021年12月 C/C++(五级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 解决 git clone 时出现Failed to connect to 127.0.0.1 port 1573问题
  • 日本核污染水排海,有必要囤盐吗?
  • windows 10自带命令查看文件的哈希值
  • ssm+vue理发店会员管理系统源码和论文
  • Python的for循环
  • 爬虫逆向实战(二十七)--某某招标投标网站招标公告
  • 线程和之间的通讯方式、进程之间的通讯方式、线程之间如何同步
  • CRM线索公海如何管理?
  • 创建web应用程序,React和Vue怎么选?
  • 【每日一题】1267. 统计参与通信的服务器
  • Python入门教程29:字符串前加r、u、b、f是什么意思?
  • java8 IntStream.range
  • 数据库集群的简单了解
  • CSS中如何实现文字阴影效果(text-shadow)?
  • Nginx从入门到精通(超级详细)
  • 为何反射探针关闭Mipmap后变成了白图
  • 成都睿趣科技:抖音开网店前期的流程是什么
  • 机房安全之道:构筑坚固的网络防线
  • 使用GoLand进行远程调试
  • C++通过JNI调用JAVA方法返回ArrayList对象
  • .netcore grpc截止时间和取消详解