Java 根据对象中是否存在值以可选方式传递对象

Java 根据对象中是否存在值以可选方式传递对象,java,java-8,optional,Java,Java 8,Optional,我理解如下: Optional<User> user = ... user.ifPresent(this::doSomethingWithUser); 可选用户=。。。 user.ifPresent(this::doSomethingWithUser); 如果存在user,请将user传递给doSomethingWithUser 我想做的是检查user.getName是否等于“Sam” 如果是这种情况,则将user传递给doSomethingWithUser 这可能吗?您正在寻找

我理解如下:

Optional<User> user = ...
user.ifPresent(this::doSomethingWithUser);
可选用户=。。。
user.ifPresent(this::doSomethingWithUser);
如果存在
user
,请将
user
传递给
doSomethingWithUser

我想做的是检查
user.getName
是否等于
“Sam”

如果是这种情况,则将
user
传递给
doSomethingWithUser

这可能吗?

您正在寻找:

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