Ho il codice seguente che è un po 'brutto per più controlli nulli.
String s = null;
if (str1 != null) {
s = str1;
} else if (str2 != null) {
s = str2;
} else if (str3 != null) {
s = str3;
} else {
s = str4;
}
Quindi ho provato a usare Optional.ofNullable
come di seguito, ma è ancora difficile capire se qualcuno legge il mio codice. qual è l'approccio migliore per farlo in Java 8.
String s = Optional.ofNullable(str1)
.orElse(Optional.ofNullable(str2)
.orElse(Optional.ofNullable(str3)
.orElse(str4)));
In Java 9, possiamo usare Optional.ofNullable
con OR
, Ma in Java8 c'è qualche altro approccio?
StringUtils.firstNonBlank()
or
sintassi Java9String s = Optional.ofNullable(str1) .or(() -> Optional.ofNullable(str2)) .or(() -> Optional.ofNullable(str3)) .orElse(str4);
non sembra buona come laStream.of
sya.