ExpertiDict

Java · Intermediário · Inglês · Técnico

record

/ˈrɛkɔrd/palavra-chave

Classe concisa para dados imutáveis, declarada com record. O compilador gera construtor, acessores, equals, hashCode e toString a partir dos componentes.

Onde usar

Aparece em DTOs, chaves de mapa e retornos com vários valores. Em review: 'isso aqui pode ser um record'.

Em código

record Ponto(int x, int y) {
  Ponto {
    if (x < 0)
      throw new IllegalArgumentException();
  }
}
var p = new Ponto(1, 2);
System.out.println(p); // Ponto[x=1, y=2]

Exemplos

This DTO can just be a record.

Esse DTO pode ser simplesmente um record.

A record gives you equals, hashCode and toString for free.

Um record já dá equals, hashCode e toString de graça.

Cuidado

O record é raso: se um componente é uma lista mutável, ela continua mutável. Também não pode estender outra classe.

Origem

Do inglês record, registro.

Veja também

Todos os termos de Java