Optional.filter()之后的调用方法,无需传入对象

问题描述 投票:0回答:1

我可以理解以下内容:

user
  .filter(u -> "Sam".equals(u.getName()))
  .ifPresent(this::doSomethingWithUser);

如果user.getName等于"Sam",则将user传递给本地方法doSomethingWithUser()

但是,如果我只是想调用本地方法而不传递user但要保持user.getName等于"Sam",该怎么办?

此用例是否使Optional冗余?

java java-8 optional
1个回答
0
投票

在这种情况下,您可以只检查是否存在Optional:

if(user.filter(u -> "Sam".equals(u.getName()).isPresent()) {
    call your method
}
© www.soinside.com 2019 - 2024. All rights reserved.