试试这个:
firstChoice().map(Optional::of) .orElseGet(this::secondChoice);
map方法为您提供了一个
Optional<Optional<Foo>>。然后,该
orElseGet方法将其展平为
Optional<Foo>。
secondChoice仅当
firstChoice()返回空的可选参数时,才会评估该方法。

试试这个:
firstChoice().map(Optional::of) .orElseGet(this::secondChoice);
map方法为您提供了一个
Optional<Optional<Foo>>。然后,该
orElseGet方法将其展平为
Optional<Foo>。
secondChoice仅当
firstChoice()返回空的可选参数时,才会评估该方法。