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都被改变了 文章来源:https://www.toymoban.com/news/detail-685985.html
2、可以看出来,1个List已经通过new关键字,重新生成了一个,但是List中包含的SysDic对象是相同的,你修改其中一个,另外一个也会发生变化。所以即使复制了List也无济于事,需要将List中的对象也复制一下才可以互不干扰。文章来源地址https://www.toymoban.com/news/detail-685985.html
到了这里,关于根据一个List生成另外一个List,修改其中一个,导致另外一个List也在变化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!