Suchen nach einer Möglichkeit, Optionale zu verketten, so dass die erste zurückgegeben wird, die vorhanden ist. Wenn keine vorhanden sind, sollte Optional.empty()
zurückgegeben werden.Verketten von Optionalen in Java 8
Angenommen, ich habe mehrere Methoden wie folgt aus:
Optional<String> find1()
ich Kette bin versucht sie:
Optional<String> result = find1().orElse(this::find2).orElse(this::find3);
aber das ist natürlich nicht, weil orElse
funktioniert erwartet einen Wert und orElseGet
erwartet a Supplier
.
Die Version, die ein 'Supplier' erwartet, wäre' .orElseGet() '. – glglgl