Errors Principiante

Obtén un valor no nulo con un valor por defecto claro, sin necesidad de operador ternario.

✕ 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.
📖

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
Objects.requireNonNullElse()
Disponible

Ampliamente disponible desde JDK 9 (septiembre de 2017)

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.

Compartir 𝕏 🦋 in