首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java-8可选的防止if语句

Java-8可选的防止if语句
EN

Stack Overflow用户
提问于 2015-12-01 21:42:06
回答 2查看 89关注 0票数 3

有没有更好的方法来做到这一点:

代码语言:javascript
复制
DateTime firstRecordingDate = null;
if (firstScheduleRecordWeekCompendium.isPresent()) {
    firstRecordingDate = firstScheduleRecordWeekCompendium.get().getStartRecord();
}
DateTime lastRecordingDate = null;
if (firstScheduleRecordWeekCompendium.isPresent()) {
    lastRecordingDate = firstScheduleRecordWeekCompendium.get().getStartRecord();
}
EN

回答 2

Stack Overflow用户

发布于 2015-12-01 21:48:03

如果将DateTime变量的类型更改为Optional<DateTime>,则可以使用map避免使用If语句:

代码语言:javascript
复制
Optional<DateTime> firstRecordingDate = firstScheduleRecordWeekCompendium.map(ClassName::getStartRecord);

其中"ClassName“应替换为firstScheduleRecordWeekCompendium的类型。

票数 3
EN

Stack Overflow用户

发布于 2015-12-01 21:49:23

由于您希望在不存在任何值的情况下保持默认值(null),因此可以使用maporElse方法:

代码语言:javascript
复制
DateTime firstRecordingDate = firstScheduleRecordWeekCompendium
    .map(YourClass::getStartRecord)
    .orElse(null);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34021901

复制
相关文章

相似问题

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