优化以下代码HrmSalarySsCorpTemplateDO hrmSalarySsCorpTemplateDO = new HrmSalarySsCorpTemplateDO(); SecurityProvidentSchemeVO socialSecurityTemplateVO = hrmSalarySsCorpTemplate.getSocialSecurityTemplateVO(); if (socialSecurityTemplateVO != null){ List<RxSchemeDetailVO> details = socialSecurityTemplateVO.getDetails(); if (details != null && details.size() != 0){ for (RxSchemeDetailVO detail : details) { detail.setDeleteFlag((byte) 0); } } hrmSalarySsCorpTemplateDO.setSocialSecurityTemplate(JSONObject.toJSONString(socialSecurityTemplateVO)); }
时间: 2024-04-26 19:26:47 浏览: 36
可以考虑以下优化措施:
1. 避免在循环中频繁调用get方法,可以将get方法的结果存储在局部变量中,提高代码执行效率。
2. 将JSONObject.toJSONString()方法的调用提取到循环外面,避免重复调用。
3. 对于外部传入的对象,如SecurityProvidentSchemeVO,可以考虑在其内部对details属性进行设置DeleteFlag操作,这样可以避免在转换为JSON字符串时再进行遍历操作。
相关问题
优化以下代码:public HrmSalarySsCorpTemplateVO paymentPlanAdded(String corpId, HrmSalarySsCorpTemplateVO hrmSalarySsCorpTemplate) { List<HrmSalarySSCorpTemplateDO> hrmSalarySsCorpTemplates = hrmSalarySsCorpTemplateDAO.selectSalarySsCorpTemplateByCorpIdAndTemplate(corpId, hrmSalarySsCorpTemplate.getName(), hrmSalarySsCorpTemplate.getCityId()); if (hrmSalarySsCorpTemplates != null && hrmSalarySsCorpTemplates.size() != 0){ throw new BusinessException(HrmSalaryErrorCode.PAYMENT_PLAN_NAME_ALREADY_EXISTS.getCode(),HrmSalaryErrorCode.PAYMENT_PLAN_NAME_ALREADY_EXISTS.getDesc()); } HrmSalarySSCorpTemplateDO hrmSalarySsCorpTemplateDO = HrmSalarySSCorpTemplateConverter.fromTemplateVO(corpId, hrmSalarySsCorpTemplate); hrmSalarySsCorpTemplateDO.setGmtCreate(new Date()); try{ Integer inner = hrmSalarySsCorpTemplateDAO.insertHrmSalarySsCorpTemplateDO(hrmSalarySsCorpTemplateDO); if (inner == null || inner == 0){ throw new BusinessException(HrmSalaryErrorCode.FAILED_TO_ADD_PAYMENT_PLAN.getCode(),HrmSalaryErrorCode.FAILED_TO_ADD_PAYMENT_PLAN.getDesc()); } }catch (Exception e){ System.out.println(e.getMessage()); } hrmSalarySsCorpTemplate.setId(hrmSalarySsCorpTemplateDO.getId()); hrmSalarySsCorpTemplate.setSsCorpTemplateId(hrmSalarySsCorpTemplateDO.getSsCorpTemplateId()); return hrmSalarySsCorpTemplate; }
可以优化的地方有:
1. 使用 Optional 类型,避免使用 null 值
2. 简化 if 语句,减少代码复杂度
3. 使用静态导入,提高代码的可读性
4. 删除无用的异常处理语句
优化后的代码如下:
```
public HrmSalarySsCorpTemplateVO paymentPlanAdded(String corpId, HrmSalarySsCorpTemplateVO hrmSalarySsCorpTemplate) {
List<HrmSalarySSCorpTemplateDO> hrmSalarySsCorpTemplates = hrmSalarySsCorpTemplateDAO.selectSalarySsCorpTemplateByCorpIdAndTemplate(corpId, hrmSalarySsCorpTemplate.getName(), hrmSalarySsCorpTemplate.getCityId());
if (!CollectionUtils.isEmpty(hrmSalarySsCorpTemplates)) {
throw new BusinessException(HrmSalaryErrorCode.PAYMENT_PLAN_NAME_ALREADY_EXISTS.getCode(), HrmSalaryErrorCode.PAYMENT_PLAN_NAME_ALREADY_EXISTS.getDesc());
}
HrmSalarySSCorpTemplateDO hrmSalarySsCorpTemplateDO = HrmSalarySSCorpTemplateConverter.fromTemplateVO(corpId, hrmSalarySsCorpTemplate);
hrmSalarySsCorpTemplateDO.setGmtCreate(new Date());
Integer inner = hrmSalarySsCorpTemplateDAO.insertHrmSalarySsCorpTemplateDO(hrmSalarySsCorpTemplateDO);
if (inner == null || inner == 0) {
throw new BusinessException(HrmSalaryErrorCode.FAILED_TO_ADD_PAYMENT_PLAN.getCode(), HrmSalaryErrorCode.FAILED_TO_ADD_PAYMENT_PLAN.getDesc());
}
hrmSalarySsCorpTemplate.setId(hrmSalarySsCorpTemplateDO.getId());
hrmSalarySsCorpTemplate.setSsCorpTemplateId(hrmSalarySsCorpTemplateDO.getSsCorpTemplateId());
return hrmSalarySsCorpTemplate;
}
```
使用 Optional 类型可以避免 null 值的出现,提高代码的可读性和可维护性。简化 if 语句可以减少代码复杂度。使用静态导入可以提高代码的可读性。删除无用的异常处理语句可以减少代码冗余。
阅读全文