Pattern matching para instanceof
Combine verificação de tipo e cast em um único passo com pattern matching.
Comparação de Código
✕ Java 8
if (obj instanceof String) {
String s = (String) obj;
System.out.println(s.length());
}
✓ Java 16+
if (obj instanceof String s) {
IO.println(s.length());
}
Viu um problema com este código? Nos avise.
Por que a forma moderna ganha
Sem cast redundante
Verificação de tipo e vinculação de variável acontecem em uma única expressão.
Menos linhas
Uma linha em vez de duas — a linha do cast desaparece completamente.
Segurança de escopo
A variável de padrão só existe no escopo onde o tipo é garantido.
Abordagem Antiga
instanceof + Cast
Abordagem Moderna
Variável de padrão
Desde o JDK
16
Dificuldade
Iniciante
Suporte JDK
Pattern matching para instanceof
Disponível
Amplamente disponível desde o JDK 16 (março de 2021)
Como funciona
O pattern matching para instanceof elimina o cast redundante após uma verificação de tipo. A variável é automaticamente escopada para onde o padrão corresponde, tornando o código mais seguro e conciso.
Documentação Relacionada