Repaso
English
Java CoreIntermedioJV-21

¿Qué te dan los records (Java 16+) con record Point(int x, int y) {}?

Opciones

  1. Una clase mutable con setters para cada componente
  2. Una clase inmutable con getters, equals y toString (Opción correcta)
  3. Una tabla de base de datos mapeada desde los componentes
  4. Una clase que no puede declarar ningún método

Respuesta

Una clase de datos inmutable con constructor, getters (x()), equals, hashCode y toString generados automáticamente

Por qué

Un record es una forma corta de declarar un simple contenedor de datos. El compilador genera el constructor, los accessors (p.x(), no getX()), equals, hashCode y toString a partir de los componentes listados.

Los campos son final, así que los records son inmutables. Son ideales para DTOs, respuestas de API y claves de map. Aun así pueden tener métodos extra y validación en un compact constructor.

Recuerda

record = clase de datos inmutable con el boilerplate generado.

Términos clave

Practica esta pregunta en Repaso