Objects.requireNonNullElse()
Obtenha um valor não-null com um padrão claro, sem precisar de ternário.
Comparação de Código
✕ Java 8
String name = input != null
? input
: "default";
// easy to get the order wrong
✓ Java 9+
String name = Objects
.requireNonNullElse(
input, "default"
);
Viu um problema com este código? Nos avise.
Por que a forma moderna ganha
Intenção clara
O nome do método descreve exatamente o que ele faz.
Padrão null-safe
O valor padrão também é verificado contra null.
Legível
Melhor que ternário para lógica simples de null-ou-padrão.
Abordagem Antiga
Verificação de null com ternário
Abordagem Moderna
requireNonNullElse()
Desde o JDK
9
Dificuldade
Iniciante
Suporte JDK
Objects.requireNonNullElse()
Disponível
Amplamente disponível desde o JDK 9 (setembro de 2017)
Como funciona
O requireNonNullElse retorna o primeiro argumento se não for null, caso contrário retorna o segundo. O valor padrão também não pode ser null — ele lança NPE se ambos forem null, capturando bugs antecipadamente.
Documentação Relacionada