Java · Intermediário · Inglês · Técnico
record
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.