Los record
en Java son una forma concisa de definir clases inmutables que almacenan datos. Introducidos en Java 14 como una característica experimental y estabilizados en Java 16, los record
eliminan la necesidad de escribir código repetitivo para constructores, métodos getter
, equals()
, hashCode()
y toString()
.
record
en Java?
Un record
es una estructura que se utiliza para representar datos inmutables de manera sencilla. Al declararlo, Java automáticamente genera:
getter
para cada campo.
equals()
, hashCode()
y toString()
.
public record Persona(String nombre, int edad) {}
Esto equivale a escribir una clase completa con sus métodos de acceso y constructores sin necesidad de código adicional.
record
Característica | Descripción |
---|---|
Inmutabilidad |
Sus campos son finales (final ) por defecto.
|
Constructor automático | Se genera un constructor con todos los parámetros. |
Métodos generados |
Implementa automáticamente toString() , equals() y hashCode() .
|
No permite herencia | No pueden extender otras clases, pero sí implementar interfaces. |
public record Persona(String nombre, int edad) {}
public class Main {
public static void main(String[] args) {
Persona p = new Persona("Juan", 25);
System.out.println(p.nombre()); // Acceder a los datos
System.out.println(p); // toString() automático
}
}
public record Punto(int x, int y) {
public int sumaCoordenadas() {
return x + y;
}
}
public record Vehiculo(String marca, String modelo) implements Comparable<Vehiculo> {
@Override
public int compareTo(Vehiculo otro) {
return this.marca.compareTo(otro.marca);
}
}
Jorge García
Fullstack developer