如何在Java中使用Optional?
How to use Optional in Java?
我有一项服务可以从数据库中查询优惠券列表。此服务 returns Optional
给客户。
return listOfCoupons.isEmpty() ? Optional.empty() : Optional.of(listOfCoupons.get(listOfCoupons.size() - 1));
并且此代码的客户端使用 Optional
命名为 'coupons' 的方式如下:
if (coupons.isPresent) {
save (coupons.get());
}
这是 Optional
的正确用法吗?
你对 Optional<T>
API 的使用从远处看起来很好,因为我看不出有任何误用。如果我挑剔并提出一些我会改变的建议:
if (coupons.isPresent) {
save (coupons.get());
}
至:
coupons.ifPresent(c -> save(c)); //or method reference
不过话又说回来,这真的很下流。
我有一项服务可以从数据库中查询优惠券列表。此服务 returns Optional
给客户。
return listOfCoupons.isEmpty() ? Optional.empty() : Optional.of(listOfCoupons.get(listOfCoupons.size() - 1));
并且此代码的客户端使用 Optional
命名为 'coupons' 的方式如下:
if (coupons.isPresent) {
save (coupons.get());
}
这是 Optional
的正确用法吗?
你对 Optional<T>
API 的使用从远处看起来很好,因为我看不出有任何误用。如果我挑剔并提出一些我会改变的建议:
if (coupons.isPresent) {
save (coupons.get());
}
至:
coupons.ifPresent(c -> save(c)); //or method reference
不过话又说回来,这真的很下流。