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

时间:2021-10-24 15:49:07

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中元素去匹配,会发现每次都会对其元素的某一个字段进行更改,造成逻辑错误;