请优化以下代码:public HrmSalarySsCorpRecordVO queryBeforeAdding(String cityId) { HrmSalaryCityTemplateVO hrmSalaryCityTemplate = hrmSalaryCityTemplateConfig.getTemplateConfig() .getCities().stream() .filter(city -> cityId.equals(city.getCityId())) .findFirst() .orElse(new HrmSalaryCityTemplateVO()); HrmSalarySsCorpRecordVO hrmSalarySsCorpRecordVO = new HrmSalarySsCorpRecordVO(); if (CollectionUtils.isEmpty(hrmSalaryCityTemplate.getSchemes())){ hrmSalarySsCorpRecordVO.setIsExistenceDefault(false); return hrmSalarySsCorpRecordVO; } return HrmSalarySSCorpTemplateConverter.convertDefaultTemplate(hrmSalaryCityTemplate); }
时间: 2024-02-14 08:11:34 浏览: 66
可以优化的地方有:
1. 使用 Optional 类型,避免使用 null 值
2. 使用方法引用,提高代码的可读性和可维护性
3. 简化 if 语句,减少代码复杂度
4. 使用静态导入,提高代码的可读性
优化后的代码如下:
```
public HrmSalarySsCorpRecordVO queryBeforeAdding(String cityId) {
Optional<HrmSalaryCityTemplateVO> hrmSalaryCityTemplate = hrmSalaryCityTemplateConfig.getTemplateConfig()
.getCities().stream()
.filter(city -> cityId.equals(city.getCityId()))
.findFirst();
return hrmSalaryCityTemplate.map(HrmSalarySSCorpTemplateConverter::convertDefaultTemplate)
.orElseGet(() -> {
HrmSalarySsCorpRecordVO hrmSalarySsCorpRecordVO = new HrmSalarySsCorpRecordVO();
hrmSalarySsCorpRecordVO.setIsExistenceDefault(false);
return hrmSalarySsCorpRecordVO;
});
}
```
使用 Optional 类型可以避免 null 值的出现,提高代码的可读性和可维护性。使用方法引用可以简化代码,提高可读性和可维护性。简化 if 语句可以减少代码复杂度。使用静态导入可以提高代码的可读性。
阅读全文