ExpertiDict

Java · Avançado · Inglês · Técnico

record pattern

/ˈrɛkɔrd ˈpætərn/substantivo

Padrão que desmonta um record direto no instanceof ou no switch, extraindo seus componentes em variáveis, inclusive aninhados, desde o Java 21.

Onde usar

Aparece em código que processa estruturas de dados algébricas, como linhas feitas de pontos. Evita acessores em cadeia.

Em código

record Ponto(int x, int y) {}
record Linha(Ponto a, Ponto b) {}
Object o = new Linha(
    new Ponto(0, 0), new Ponto(3, 4));
if (o instanceof Linha(Ponto(var x, var y),
    var b)) {
  System.out.println(b.x() - x); // 3
}

Exemplos

Use a record pattern to unpack the point right in the if.

Use um record pattern para desmontar o ponto direto no if.

Nested record patterns replace a chain of accessors.

Record patterns aninhados substituem uma cadeia de acessores.

Cuidado

Só funciona com records; para classes comuns ainda é preciso chamar getters.

Sinônimos

padrão de record

Veja também

Todos os termos de Java