我遇到了一个问题,我想我需要类似orElseMap(...)/ 的东西orElseFlatMap(...)。
我正在从方法调用中使用一个可选项。如果那个 Optional 是空的,我想从另一个方法中检索另一个 Optional 。然后我想返回一个 Optional 描述是否通过两个调用之一找到了一个值。
我只是错过了什么吗?
所以我想做一些类似的事情:
public Optional<Foo> getSomething()
{
final Optional<Foo> foo = service.getFooFromBla()
if (foo.isPresent())
return foo;
else
return service.getFooFromBlubb();
}
我对上述解决方案并不满意,但也许这是目前唯一可行的方法。通常,如果我想打开包装,我会将map(...)/flatMap(...)与orElse(...)/结合使用orElseGet(...),这非常简洁。
但我错过了方法orElseMap(...)和orElseFlatMap(...).
汪汪一只猫
繁星coding
相关分类