我可以理解以下内容:
user
.filter(u -> "Sam".equals(u.getName()))
.ifPresent(this::doSomethingWithUser);
如果user.getName
等于"Sam"
,则将user
传递给本地方法doSomethingWithUser()
。
但是,如果我只是想调用本地方法而不传递user
但要保持user.getName
等于"Sam"
,该怎么办?
此用例是否使Optional
冗余?
在这种情况下,您可以只检查是否存在Optional:
if(user.filter(u -> "Sam".equals(u.getName()).isPresent()) {
call your method
}