java - 在设置变量之前检查 null - 没有 if-else
问题描述
我用来从一个对象Lombok-Builder
构建我的api
java对象entity
RewardApi.builder()
.rewardId(rewardEntity.getrewardId())
.rewardTitle(rewardEntity.getrewardTitle())
.rewardText(rewardEntity.getrewardText())
.rewardFor(rewardEntity.getrewardFor())
.rewardType(rewardEntity.getrewardType())
.rewardFromDate(rewardEntity.getrewardFromDate().toZonedDateTime())
.rewardToDate(rewardEntity.getrewardToDate().toZonedDateTime())
.isDisplayOn(rewardEntity.getIsDisplayOn())
.createdId(rewardEntity.getCreatedId())
.updatedId(rewardEntity.getUpdatedId())
.createdDate(rewardEntity.getCreatedDate().toZonedDateTime())
.lastModifiedDate(rewardEntity.getLastModifiedDate().toZonedDateTime())
.build();
我正在nullPointerException
设置lastModifiedDate
字段,因为entity
对象正在获取该字段,并且正在null
执行toZonedDateTime()
null
如何在没有传统方式(如下所述)的情况下解决这个问题
if (null!=rewardEntity.getLastModifiedDate(){....}
我想在null
使用设置变量时进行检查,builder-pattern
而不是null
在构建对象后进行检查。无论如何 ?
解决方案
rewardEntity.getLastModifiedDate() != null ? rewardEntity.getLastModifiedDate().toZonedDateTime() : null
它被称为条件运算符,它是一个三元运算符,因为它具有三个操作数。
推荐阅读
- linux - Samba 给出“功能未实现”错误
- c# - 在 Windows 服务应用程序中运行 python 脚本(没有用户登录)
- python - 是否可以在名称中声明带有参数的关键字?
- xamarin - Xamarin - 防止新的 ios 13 表单样式演示
- c - 如何使用 MPI 修复 C 中的 AES 解密
- html - 如何在 Flexbox 中的两个 div 之间添加边距/空间
- java - 我正在打印素数数组,我的代码输出是 2,它没有迭代
- java - 将带有嵌套对象的 JSON 映射到 GSON
- sparql - DBpedia - 无法提取非英语的私人/姓氏等
- javascript - 从选择选项中调用 FORM