Record patterns (desestruturação)
Desestruture records diretamente em padrões — extraia campos em um único passo.
Comparação de Código
✕ Java 8
if (obj instanceof Point) {
Point p = (Point) obj;
int x = p.getX();
int y = p.getY();
System.out.println(x + y);
}
✓ Java 21+
if (obj instanceof Point(int x, int y)) {
IO.println(x + y);
}
Viu um problema com este código? Nos avise.
Por que a forma moderna ganha
Extração direta
Acesse componentes do record sem chamar acessores manualmente.
Aninhável
Padrões podem ser aninhados — corresponda records internos em uma única expressão.
Código compacto
Cinco linhas viram duas — menos cerimônia, mesma clareza.
Abordagem Antiga
Acesso manual
Abordagem Moderna
Desestruturação
Desde o JDK
21
Dificuldade
Intermediário
Suporte JDK
Record patterns (desestruturação)
Disponível
Amplamente disponível desde o JDK 21 LTS (set 2023)
Como funciona
Record patterns permitem decompor os componentes de um record diretamente em instanceof e switch. Padrões aninhados também são suportados, possibilitando correspondência profunda sem variáveis intermediárias.
Documentação Relacionada