Mam poniższy kod, który jest trochę brzydki dla wielu sprawdzeń zerowych.
String s = null;
if (str1 != null) {
s = str1;
} else if (str2 != null) {
s = str2;
} else if (str3 != null) {
s = str3;
} else {
s = str4;
}
Spróbowałem więc użyć Optional.ofNullable
poniższego, ale nadal trudno jest zrozumieć, czy ktoś czyta mój kod. jakie jest najlepsze podejście do tego w Javie 8.
String s = Optional.ofNullable(str1)
.orElse(Optional.ofNullable(str2)
.orElse(Optional.ofNullable(str3)
.orElse(str4)));
W Javie 9 możemy używać Optional.ofNullable
z OR
, Ale czy w Javie8 jest jakieś inne podejście?
StringUtils.firstNonBlank()
or
Składnia Java9String s = Optional.ofNullable(str1) .or(() -> Optional.ofNullable(str2)) .or(() -> Optional.ofNullable(str3)) .orElse(str4);
nie wygląda tak dobrze, jakStream.of
ja bym sya.