Ищете способ привязки опций, чтобы возвращался первый, который присутствует. Если ни один не присутствует, Optional.empty()
должен быть возвращен.
Предполагая, что у меня есть несколько методов:
Optional<String> find1()
Я пытаюсь связать их:
Optional<String> result = find1().orElse( this::find2 ).orElse( this::find3 );
но, конечно, это не работает, потому что orElse
ожидает, что значение и orElseGet
ожидает a Supplier
.