Caso null no switch
Trate null diretamente como um caso do switch — sem verificação separada.
Comparação 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";
};
Viu um problema com este código? Nos avise.
Por que a forma moderna ganha
Explícito
O tratamento de null fica visível diretamente no switch.
Sem NPE
Fazer switch em um valor null não lança NullPointerException.
Tudo em um
Todos os casos, incluindo null, em uma única expressão switch.
Abordagem Antiga
Verificação antes do switch
Abordagem Moderna
case null
Desde o JDK
21
Dificuldade
Iniciante
Suporte JDK
Caso null no switch
Disponível
Amplamente disponível desde o JDK 21 LTS (setembro de 2023)
Como funciona
O switch com pattern matching pode tratar null como um rótulo de caso. Isso elimina a necessidade de uma verificação de null antes do switch e torna o tratamento de null explícito e visível.
Documentação Relacionada