gpt4 book ai didi

java - 引入一个新变量而不是重复使用参数 "entity"

转载 作者:行者123 更新时间:2023-11-30 02:25:14 26 4
gpt4 key购买 nike

我正在解决 SonarQube 问题,在这个问题中我面临以下警告,请告诉我如何解决它,

这是我的课

public static Agency updateEntity(AgencyModel model, Agency entity) {

if (model == null || entity == null) {
return null;
}

if (entity.getAgencyId() != model.getAgencyId()) {
entity = new Agency()


// for the above variable 'entity' i get the warning, "Introduce a new
variable instead of reusing the parameter "entity".


}

entity.setAgencyId(model.getAgencyId());
if (entity.getAgencyLogoLarge() == null) {
entity.setAgencyLogoLarge(new File());
}
entity.setAgencyLogoLarge(FileModel.updateEntity(model.getAgencyLogoLarge(), entity.getAgencyLogoLarge()));
if (entity.getAgencyLogoSmall() == null) {
entity.setAgencyLogoSmall(new File());
}
entity.setAgencyLogoSmall(FileModel.updateEntity(model.getAgencyLogoSmall(), entity.getAgencyLogoSmall()));
entity.setAgencyName(model.getAgencyName());
entity.setContactPersons(
AgencyContactPersonModel.updateEntities(model.getContactPersons(), entity.getContactPersons()));
entity.setOtherDetails(model.getOtherDetails());
entity.setClassification(ClassificationModel.updateEntity(model.getClassification(), entity.getClassification()));
entity.setStatus(entity.getStatus());
entity.setCreatedBy((model.getCreatedBy() != null && model.getCreatedBy() != 0) ? model.getCreatedBy()
: entity.getCreatedBy());
entity.setUpdatedBy((model.getUpdatedBy() != null && model.getUpdatedBy() != 0) ? model.getUpdatedBy()
: entity.getUpdatedBy());
entity.setUpdatedDate(new Date());
entity.setStatus(Constant.ACTIVE);

return entity;
}

在上述方法中,我收到该警告,请有人告诉我解决上述问题的最佳方法是什么。

最佳答案

为方法参数赋值通常表明存在错误(即使在您的示例中并非如此),这可能就是 SonarQube 发出该警告的原因。

假设您无法禁用该警告(或者您不想),则可以通过引入新的局部变量来消除它:

public static Agency updateEntity(AgencyModel model, Agency entity) {

Entity result;

if (model == null || entity == null) {
return null;
}

if (entity.getAgencyId() != model.getAgencyId()) {
result = new Agency();
} else {
result = entity;
}

... use result variable instead of entity variable ...

return result;
}

关于java - 引入一个新变量而不是重复使用参数 "entity",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45791438/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com