Eu tenho o código abaixo, que é um pouco feio para várias verificações de nulos.
String s = null;
if (str1 != null) {
s = str1;
} else if (str2 != null) {
s = str2;
} else if (str3 != null) {
s = str3;
} else {
s = str4;
}
Então tentei usar Optional.ofNullable
como abaixo, mas ainda é difícil de entender se alguém lê meu código. qual é a melhor abordagem para fazer isso no Java 8.
String s = Optional.ofNullable(str1)
.orElse(Optional.ofNullable(str2)
.orElse(Optional.ofNullable(str3)
.orElse(str4)));
No Java 9, podemos usar Optional.ofNullable
com OR
, mas no Java8 existe alguma outra abordagem?
StringUtils.firstNonBlank()
or
sintaxe Java9String s = Optional.ofNullable(str1) .or(() -> Optional.ofNullable(str2)) .or(() -> Optional.ofNullable(str3)) .orElse(str4);
não parece tão boa quanto a queStream.of
eu faria.