首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在设置变量之前检查是否为null -不带if-else

在设置变量之前检查是否为null -不带if-else
EN

Stack Overflow用户
提问于 2019-04-16 23:44:40
回答 3查看 1.1K关注 0票数 0

我使用Lombok-Builderentity对象构建api java对象

代码语言:javascript
复制
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();

我在设置lastModifiedDate字段时获取nullPointerException,因为entity对象将该字段作为null获取,并在null之上执行toZonedDateTime()

如何在没有传统方法的情况下解决这个问题(如下所述)

if (null!=rewardEntity.getLastModifiedDate(){....}

我想在使用builder-pattern设置变量时检查null,而不是在构建对象后执行null检查。有什么办法吗?

EN

Stack Overflow用户

发布于 2019-04-16 23:46:56

代码语言:javascript
复制
rewardEntity.getLastModifiedDate() != null ? rewardEntity.getLastModifiedDate().toZonedDateTime() : null 

它被称为条件运算符,这是一个三元运算符,因为它有三个操作数。

票数 4
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55712016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档