Caso null en switch
Maneja null directamente como un caso del switch — sin necesidad de una verificación separada.
Comparación de Código
✕ Java 8
// Must check before switch
if (status == null) {
return "unknown";
}
return switch (status) {
case ACTIVE -> "active";
case PAUSED -> "paused";
default -> "other";
};
✓ Java 21+
return switch (status) {
case null -> "unknown";
case ACTIVE -> "active";
case PAUSED -> "paused";
default -> "other";
};
¿Ves un problema con este código? Cuéntanos.
Por qué gana la forma moderna
Explícito
El manejo de null es visible directamente en el switch.
Sin NPE
Hacer switch sobre un valor null no lanza NullPointerException.
Todo en uno
Todos los casos, incluyendo null, en una sola expresión switch.
Enfoque Antiguo
Verificación antes del switch
Enfoque Moderno
case null
Desde JDK
21
Dificultad
Principiante
Soporte JDK
Caso null en switch
Disponible
Ampliamente disponible desde JDK 21 LTS (septiembre de 2023)
Cómo funciona
El switch con pattern matching puede coincidir con null como una etiqueta de caso. Esto elimina la necesidad de una verificación de null antes del switch y hace que el manejo de null sea explícito y visible.
Documentación Relacionada