java - java8不止一次检查可选的空值
问题描述
我如何在 java8 中用 1 行写这个?
if (Optional.ofNullable(mapOfIntAndListOfObjects.get(spn)).isPresent()) {
Date paydate = Optional.ofNullable(mapOfIntAndListOfObjects.get(spn).stream().findFirst()).get().orElse(new MyObject()).getPayDate();
logger.info("paydate {} ", paydate);
return paydate;
}
return null;
解决方案
就像是
Date payDate = mapOfIntAndListOfObjects.getOrDefault(spn, Collections.emptyList())
.stream()
.findFirst()
.orElse(new MyObject())
.getPayDate();
logger.info("paydate {} ", paydate);
return payDate;
你似乎真的不需要把它们包裹起来Optional
。
推荐阅读
- sql - 如何查找 1 天、2 天、3 天的活跃用户数.....postgreSQL
- python - 如何将外部变量传递给带有变量名的python程序?
- networking - 一个网络中的两个路由器;一台作为网关,一台作为 DHCP 服务器
- r - 最小二乘虚拟变量模型
- vue.js - Vuetify:v-ripple 只能用于块级元素
- json - 无法在 Powershell 中创建带字符串的文件名
- python - 使用 TukeyHSD 进行多重比较时出现类型错误
- javascript - select.prev(".class").val(); 返回未定义的值
- java - 如何忽略特定的库子类?
- python - 如果我的类型是函数,我可以在 Python 中使用什么类型提示?