En este artículo les voy comentar de una nueva característica en preview que viene como parte de Java 14 y son los Records. Como tal, debemos usar la directriz --enable-preview ya que esta deshabilitado por omisión.

Para empezar, debemos tener claro que un Record es una clase que explícitamente tiene como objetivo almacenar datos. Tradicionalmente si uno quiere crear una clase para ello y tenerla como un Data Transfer Object (DTO) se debe agregar todos los set/get, el equals, hashcode y el toString().

Pero con Java 14 es posible crear un DTO de una manera muy sencilla.

public record Usuario(String nombre, String apellido) {
}

Y ahora podemos usarla en nuestro código de la siguiente manera:

public static void main(String[] args) {
    var usuario = new Usuario("Gerardo", "Arroyo");
    System.out.println(usuario + " Nombre[" + usuario.nombre()+ "]");
}

Resulta muy sencillo y de fácil lectura, comparado con la manera tradicional de hacerlo.

Y el resultado sería:

  Usuario[nombre=Gerardo, apellido=Arroyo] Nombre[Gerardo]

También es posible incluir métodos estáticos para que operen sobre su estado.

public record Usuario(String nombre, String apellido) {


    public static void calcularXYZ() {
        // Cualquier cálculo u operación que necesitemos.
    }
}

Aunque está en preview me parece que es una adición más que bienvenida en Java. Creo que se convertirá en el mecanismo por omisión para DTO una vez que se formalice.

Conclusión


Espero que este artículo les sirva de introducción a esta nueva característica de Java 14, la cuál encuentro sumamente promisoria.