for(GroupTeam group : groupList){ List<GroupCrew> groupCrew = groupCrewService.findGroupCrewByGroupId(group.getId()); GroupVO groupVO = new GroupVO(); BeanUtils.copyProperties(group,groupVO); for(GroupCrew crew : groupCrew){ groupVO.setCrewId(crew.getCrewId()); groupVO.setCrewName(crew.getCrewName()); groupVO.setStatus(crew.getStatus()); groupVOList.add(groupVO); } }这段代码输出后list里面是2个相同的内容是为什么
时间: 2024-03-20 16:44:38 浏览: 73
根据你提供的代码,我可以看出可能的原因是你在循环遍历`groupList`时,每次都是使用同一个`GroupVO`对象,而没有在每次循环中创建一个新的`GroupVO`对象。因此,每次循环结束后,`groupVOList`中添加的都是同一个`GroupVO`对象的引用,而这个对象最后的状态是最后一次循环的结果。这就导致了`groupVOList`中有多个相同的`GroupVO`对象。
要解决这个问题,你可以在每次循环中创建一个新的`GroupVO`对象,然后将其添加到`groupVOList`中。可以像下面这样修改代码实现:
```
for(GroupTeam group : groupList){
List<GroupCrew> groupCrew = groupCrewService.findGroupCrewByGroupId(group.getId());
for(GroupCrew crew : groupCrew){
GroupVO groupVO = new GroupVO(); // 在每次循环中创建新的对象
BeanUtils.copyProperties(group,groupVO);
groupVO.setCrewId(crew.getCrewId());
groupVO.setCrewName(crew.getCrewName());
groupVO.setStatus(crew.getStatus());
groupVOList.add(groupVO);
}
}
```
这样就可以避免每次循环添加相同的`GroupVO`对象了。
阅读全文
相关推荐















