Objects.requireNonNullElse()
Obtén un valor no nulo con un valor por defecto claro, sin necesidad de operador ternario.
Comparación 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"
);
¿Ves un problema con este código? Cuéntanos.
Por qué gana la forma moderna
Intención clara
El nombre del método describe exactamente lo que hace.
Valor por defecto seguro
El valor por defecto también se verifica que no sea null.
Legible
Mejor que el operador ternario para lógica simple de null o valor por defecto.
Enfoque Antiguo
Verificación ternaria de null
Enfoque Moderno
requireNonNullElse()
Desde JDK
9
Dificultad
Principiante
Soporte JDK
Objects.requireNonNullElse()
Disponible
Ampliamente disponible desde JDK 9 (septiembre de 2017)
Cómo funciona
requireNonNullElse devuelve el primer argumento si no es null, de lo contrario el segundo. El valor por defecto en sí no puede ser null — lanza NPE si ambos son null, detectando errores tempranamente.
Documentación Relacionada