我遇到了一個問題,我想我需要類似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(...).
可選/消費可選并返回另一個可選
慕田峪7331174
2021-09-03 16:58:40