根据持有的对象中是否存在值在 Optional 中传递对象

Passing object in Optional based on whether value exists in object held

我理解以下内容:

Optional<User> user = ...
user.ifPresent(this::doSomethingWithUser);

如果 user 存在,将 user 传递给 doSomethingWithUser

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

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

这可能吗?

您正在寻找filter

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