我有一项服务,可以从数据库中查询优惠券列表。此服务向客户端返回一个Optional
。
return listOfCoupons.isEmpty() ? Optional.empty() : Optional.of(listOfCoupons.get(listOfCoupons.size() - 1));
此代码的客户端按以下方式使用名为“coupons”的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
但话又说回来,这确实取决于品味。
关于java - 如何在Java中使用Optional?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62073990/