我遇到一个问题,我想我需要像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(...)
。