Jav*_*per 2 java optional java-8
我有一个服务,它从数据库中查询优惠券列表。此服务Optional向客户端返回。
return listOfCoupons.isEmpty() ? Optional.empty() : Optional.of(listOfCoupons.get(listOfCoupons.size() - 1));
Run Code Online (Sandbox Code Playgroud)
此代码的客户端Optional以以下方式使用命名的“优惠券”:
if (coupons.isPresent) {
save (coupons.get());
}
Run Code Online (Sandbox Code Playgroud)
这是正确的用法Optional吗?
Optional<T>从远处看,您对API 的使用看起来不错,因为我看不到它有任何误用。如果我要挑剔并提出一些我会改变的建议:
if (coupons.isPresent) {
save (coupons.get());
}
Run Code Online (Sandbox Code Playgroud)
到:
coupons.ifPresent(c -> save(c)); //or method reference
Run Code Online (Sandbox Code Playgroud)
但话说回来,这真的取决于味道。
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |