优化 if (ObjectUtil.isNotNull(formTemplate.getScheme().getFormLogic())) { FormLogic formLogic = formTemplate.getScheme().getFormLogic(); formLogic.setId(null); formLogic.setFormKey(newFormKey); formLogicService.save(formLogic); }
时间: 2024-02-17 09:05:24 浏览: 87
这段代码中的if语句可以使用Java 8引入的Optional类来优化,具体实现过程如下:
1. 通过Optional.ofNullable()方法将表单模板中的表单逻辑转换为Optional对象。
2. 使用ifPresent()方法判断Optional对象是否为空,如果不为空则执行lambda表达式中的代码。
3. 在lambda表达式中,将表单逻辑的id设置为null,将formKey设置为newFormKey,并将其保存到数据库中。
优化后的代码如下:
```
Optional.ofNullable(formTemplate.getScheme().getFormLogic())
.ifPresent(formLogic -> {
formLogic.setId(null);
formLogic.setFormKey(newFormKey);
formLogicService.save(formLogic);
});
```
通过使用Optional类,可以使代码更加简洁、易读,同时也能避免出现NullPointerException异常。
相关问题
优化if (ObjectUtil.isNotNull(formTemplate.getScheme().getFormTheme())) { FormTheme formTheme = formTemplate.getScheme().getFormTheme(); formTheme.setId(null); formTheme.setFormKey(newFormKey); formThemeService.save(formTheme); }
这段代码中的if语句同样可以使用Java 8引入的Optional类来优化,具体实现过程如下:
1. 通过Optional.ofNullable()方法将表单模板中的表单主题转换为Optional对象。
2. 使用ifPresent()方法判断Optional对象是否为空,如果不为空则执行lambda表达式中的代码。
3. 在lambda表达式中,将表单主题的id设置为null,将formKey设置为newFormKey,并将其保存到数据库中。
优化后的代码如下:
```
Optional.ofNullable(formTemplate.getScheme().getFormTheme())
.ifPresent(formTheme -> {
formTheme.setId(null);
formTheme.setFormKey(newFormKey);
formThemeService.save(formTheme);
});
```
使用Optional类可以使代码更加简洁、易读,同时也能避免出现NullPointerException异常。
public ReturnData getUserFormWriteSettingStatus(String formKey, String requestIp) { Form form = formService.getByKey(formKey); // 未发布不允许填写 if (ObjectUtil.isNull(form) || form.getStatus() != FormStatusEnum.RELEASE) { return ReturnData.error().errorMessage("表单暂时无法填写"); } FormWriteSetting setting = formWriteSettingMapper.selectOne(Wrappers.<FormWriteSetting>lambdaQuery() .eq(FormWriteSetting::getFormKey, formKey)); if (ObjectUtil.isNull(setting)) { return ReturnData.success().data(setting); }
这段代码的作用是获取表单填写的设置状态并返回给调用者。首先根据表单的 key 值获取表单对象,如果表单对象为 null 或者状态不是已发布(FormStatusEnum.RELEASE),则返回一个错误信息。否则,通过表单 key 值从数据库中获取相应的填写设置(FormWriteSetting),如果填写设置对象为 null,则返回一个成功信息(ReturnData.success())并携带一个 null 的数据(.data(setting))。
阅读全文