Language Iniciante

Combine verificação de tipo e cast em um único passo com pattern matching.

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

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
Pattern matching para instanceof
Disponível

Amplamente disponível desde o JDK 16 (março de 2021)

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.

Compartilhar 𝕏 🦋 in