java ifpresent_java – 正确使用Optional.ifPresent()

我试图理解Java 8中的可选API的ifPresent()方法。

我有简单的逻辑:

Optional user=...

user.ifPresent(doSomethingWithUser(user.get()));

但是这会导致编译错误:

ifPresent(java.util.functionError:(186, 74) java: 'void' type not allowed here)

当然我可以这样做:

if(user.isPresent())

{

doSomethingWithUser(user.get());

}

但这完全像一个杂乱无章的检查。

如果我将代码更改为:

user.ifPresent(new Consumer() {

@Override public void accept(User user) {

doSomethingWithUser(user.get());

}

});

代码越来越脏,这让我想起了回到旧的null检查。

有任何想法吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值