【发布时间】:2021-11-25 05:58:23
【问题描述】:
我有以下 DTO:
@Data
@RequiredArgsConstructor
public class MenuItemExpandedDTO {
private UUID uuid;
private List<ModifierGroupDTO> modifierGroupDtoList;
private List<AllergenInfo> allergenInfoList;
public MenuItemExpandedDTO(
PropertiesDTO propertiesDto,
List<ModifierGroupDTO> modifierGroupDtoList,
List<AllergenInfo> allergenInfoList
) {
this.uuid = propertiesDto.getUuid();
this.modifierGroupDtoList = modifierGroupDtoList;
this.allergenInfoList = allergenInfoList;
}
}
在 SonarQube 分析中,由于allergenInfoList 的说明,我得到了一个漏洞
“消息:存储 allergenInfoList 的副本”
所以,我不确定问题出在哪里,但在修复此错误之前,我想知道该代码有什么问题?在某些页面中,建议初始化列表,例如private List<AllergenInfo> allergenInfoList = Collections.emptyList()。但这不是我在项目中遵循的方式。那么,这段代码有什么问题呢?
【问题讨论】:
-
Sonarqube 应该给你一个规则参考,提供更多细节。这个可能是rules.sonarsource.com/java/RSPEC-2384
标签: java sonarqube dto sonarqube-scan sonarqube-ops