这段代码片段展示了如何根据合同信息的存在与否设置 billTaxConfigDTOcontractStartDatecontractEndDate 属性。

原始代码中使用了多个嵌套的 if 语句,导致代码结构复杂,可读性较差。

我们可以使用一个简单的 if-else 语句来简化代码逻辑,并提高代码的可读性和可维护性。

优化后的代码:

if (Objects.nonNull(billDTO.getBusinessId()) && !Objects.equals(billDTO.getBusinessId(), 0L)) {
    List<ContractVo> data1 = contractService.listContractVoByIds(Lists.newArrayList(billDTO.getBusinessId())).getData();
    if (CollUtil.isNotEmpty(data1)) {
        billTaxConfigDTO.setContractStartDate(data1.get(0).getLeaseStartTime());
        billTaxConfigDTO.setContractEndDate(data1.get(0).getLeaseEndTime());
    } else {
        billTaxConfigDTO.setContractStartDate(billDTOSort.getStartTime());
        billTaxConfigDTO.setContractEndDate(billDTOSort.getEndTime());
    }
} else {
    billTaxConfigDTO.setContractStartDate(billDTOSort.getStartTime());
    billTaxConfigDTO.setContractEndDate(billDTOSort.getEndTime());
}

通过使用 if-else 语句,我们将代码逻辑清晰地分为了两种情况:

  • 存在合同信息: 获取合同信息并设置 contractStartDatecontractEndDate
  • 不存在合同信息: 直接使用 billDTOSortstartTimeendTime 设置 contractStartDatecontractEndDate

总结:

使用 if-else 语句简化代码逻辑可以提高代码的可读性和可维护性,使其更容易理解和修改。

Java 代码优化:使用 if-else 语句简化合同信息获取逻辑

原文地址: https://www.cveoy.top/t/topic/qfsm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录