java - 如何在 Java 中使用 Optional?
问题描述
我有一个从数据库中查询优惠券列表的服务。该服务向客户端返回一个Optional
。
return listOfCoupons.isEmpty() ? Optional.empty() : Optional.of(listOfCoupons.get(listOfCoupons.size() - 1));
此代码的客户端Optional
以下列方式使用命名的“优惠券”:
if (coupons.isPresent) {
save (coupons.get());
}
这是正确的用法Optional
吗?
解决方案
从远处看,您对Optional<T>
API 的使用看起来不错,因为我看不到它有任何滥用。如果我要挑剔并提出一些我会改变的建议:
if (coupons.isPresent) {
save (coupons.get());
}
至:
coupons.ifPresent(c -> save(c)); //or method reference
但话说回来,这真的很糟糕。
推荐阅读
- jquery - 2位或3位电话号码区号的多个掩码,其余为7位
- google-sheets - 谷歌查询公式从下拉列表中包含“全部”
- javascript - 检测是否通过左键或右键单击选择选项
- youtube-api - 有没有办法通过 YouTube API 搜索任何视频中使用的音乐?
- sql - “块中的无效页面”数据库的 Postgresql pg_dump 无法正常工作
- html - 如何修复容器中的div高度
- laravel - Laravel 迁移 - down() 在多个数据库连接中不起作用 - 表已存在错误
- java - Spock 的 groovy 测试在 Stub() 处出现 ArrayIndexOutOfBoundsException 失败
- firebase - Firebase CLI 是否只能运行预部署步骤?
- mongodb - 为 mongodb 连接运行 logstash 时出错