if (CollectionUtil.isNotEmpty(invRiskCodeList) && CollectionUtil.isNotEmpty(policyValueResDTO.getRiskValues())){ List<RiskValueDTO> riskValues = policyValueResDTO.getRiskValues(); for (RiskValueDTO riskValueDTO:policyValueResDTO.getRiskValues()){ if (null != riskValueDTO.getRiskTFInfoDTO()){ if (invRiskCodeList.contains(riskValueDTO.getRiskCode())){ //投连险重新赋值 RiskTFInfoDTO riskTFInfoDTO = riskValueDTO.getRiskTFInfoDTO(); riskTFInfoDTO.setTFMoney(policyValueResDTO.getPolicyAccValue()); riskTFInfoDTO.setPolCashValue(policyValueResDTO.getPolicyAccValue()); riskValueDTO.setRiskTFInfoDTO(riskTFInfoDTO); riskValues.add(riskValueDTO); } } } policyValueResDTO.setRiskValues(riskValues); }
时间: 2024-03-09 22:44:23 浏览: 40
以下是对该段代码的优化建议:
1. 可以使用Java 8的Stream API来简化代码,如下:
```java
if (CollectionUtil.isNotEmpty(invRiskCodeList) && CollectionUtil.isNotEmpty(policyValueResDTO.getRiskValues())) {
List<RiskValueDTO> riskValues = policyValueResDTO.getRiskValues().stream()
.filter(riskValueDTO -> invRiskCodeList.contains(riskValueDTO.getRiskCode()))
.peek(riskValueDTO -> {
RiskTFInfoDTO riskTFInfoDTO = riskValueDTO.getRiskTFInfoDTO();
if (riskTFInfoDTO != null) {
riskTFInfoDTO.setTFMoney(policyValueResDTO.getPolicyAccValue());
riskTFInfoDTO.setPolCashValue(policyValueResDTO.getPolicyAccValue());
riskValueDTO.setRiskTFInfoDTO(riskTFInfoDTO);
}
})
.collect(Collectors.toList());
policyValueResDTO.setRiskValues(riskValues);
}
```
2. 可以将List的判空和遍历合并为一个循环,避免重复遍历:
```java
List<RiskValueDTO> riskValues = policyValueResDTO.getRiskValues();
if (CollectionUtil.isNotEmpty(invRiskCodeList) && CollectionUtil.isNotEmpty(riskValues)) {
for (int i = 0; i < riskValues.size(); i++) {
RiskValueDTO riskValueDTO = riskValues.get(i);
if (invRiskCodeList.contains(riskValueDTO.getRiskCode())) {
RiskTFInfoDTO riskTFInfoDTO = riskValueDTO.getRiskTFInfoDTO();
if (riskTFInfoDTO != null) {
riskTFInfoDTO.setTFMoney(policyValueResDTO.getPolicyAccValue());
riskTFInfoDTO.setPolCashValue(policyValueResDTO.getPolicyAccValue());
riskValueDTO.setRiskTFInfoDTO(riskTFInfoDTO);
}
}
}
}
```
阅读全文