关于双重for循环封装数据问题

1.问题描述

在使用双重for循环进行封装数据时出现一个问题,就是有的数据封装上了,有的数据未封装上,找了很久原因:

for (A a:ListA) {
            for (B b: ListB) {
                if(a.getCode().equals(B.getCode())){
                    a.setCheck(true);
                }else{
                    a.setCheck(false);
                }
            }
        }

2.解决问题

关于上面的代码,乍一看没什么问题,关键在于在每次循环ListA的时候,如果某一个元素A一一与LIstB中元素去匹配,会发现每次都会对其元素的某一个字段进行更改,造成逻辑错误;

原文地址:https://www.cnblogs.com/AlanWilliamWalker/p/10316494.html