Reduza a verbosidade do seu código Java utilizando Records

Por Gaspar Barancelli Junior em 28 de agosto de 2023

Se você é um desenvolvedor Java, provavelmente está sempre procurando maneiras de tornar seu código mais limpo, conciso e fácil de entender. Felizmente, o Java 14 introduziu uma nova funcionalidade que pode ajudar nesse sentido: o Java Record.

Mas o que é um Java Record, exatamente? Em termos simples, um Record é uma nova classe de dados imutável, que oferece uma maneira concisa e declarativa de definir classes de dados com campos, métodos e comportamentos padrão.

Na prática, isso significa que você pode usar o Java Record para definir rapidamente classes que representam dados em seus projetos Java, sem precisar escrever código extra para getters, setters, equals e hashCode. Em vez disso, você pode definir os campos da classe diretamente na declaração do Record.

Exemplo:

public record Pessoa(String nome, int idade) {}

Com essa declaração, você tem uma classe Pessoa imutável que contém um campo para o nome e outro para a idade. Além disso, o Record já implementa os métodos equals(), hashCode() e toString() automaticamente, sem precisar escrevê-los manualmente.

Isso pode ajudar a tornar o seu código mais fácil de ler, pois você pode se concentrar nos dados e comportamentos importantes da classe, em vez de se preocupar com o código repetitivo necessário para implementar getters e setters.

Além de facilitar a leitura do código, ao trabalharmos com Record temos diversos benefícios relacionadoa imutabilidade, como:

  1. Concorrência: objetos imutáveis são seguros para uso em ambientes concorrentes, pois não podem ser alterados por outros threads em tempo de execução. Isso ajuda a evitar condições de corrida e outros problemas comuns de concorrência.

  2. Segurança: objetos imutáveis não podem ser modificados acidentalmente ou intencionalmente, o que ajuda a garantir que os dados armazenados permaneçam íntegros e consistentes em todo o código.

  3. Facilidade de uso: objetos imutáveis não precisam ser clonados ou copiados para evitar a modificação dos dados. Isso torna o código mais fácil de escrever, entender e manter.

  4. Performance: objetos imutáveis podem ser mais eficientes em termos de desempenho do que objetos mutáveis, especialmente em casos em que muitos objetos são criados e descartados rapidamente.

  5. Reutilização: objetos imutáveis podem ser reutilizados em vários contextos, pois seu estado não pode ser alterado. Isso pode ajudar a simplificar a lógica do código e a melhorar a modularidade.

  6. Testabilidade: objetos imutáveis são mais fáceis de testar do que objetos mutáveis, pois seu estado permanece consistente em todo o ciclo de vida do objeto. Isso ajuda a garantir a qualidade do software e a facilitar a detecção de erros.

Além disso, o Java Record também oferece algumas outras vantagens úteis. Por exemplo, você pode usar a palavra-chave "sealed" para restringir quais classes podem herdar do seu Record, ajudando a tornar seu código mais seguro e previsível.

Exemplo:

public sealed interface Animal permits Cachorro, Gato {
    String especie();
    int idade();
}

public record Cachorro(String raca, int idade) implements Animal {
    public String especie() {
        return "Canino";
    }
}

public record Gato(String color, int idade) implements Animal {
    public String especie() {
        return "Felino";
    }
}

Sealed foi introduzida na linguagem Java na versão 17. Ela faz parte do projeto JEP 409, que adicionou a capacidade de declarar classes e interfaces "sealed".

Outra vantagem é que o Java Record é uma funcionalidade de linguagem padrão, o que significa que você pode usá-la sem depender de bibliotecas externas ou pacotes adicionais.

Então, se você está procurando uma maneira mais fácil e concisa de definir classes de dados imutáveis em seus projetos Java, o Java Record pode ser exatamente o que você precisa. Experimente e veja como pode ajudar a tornar seu código mais limpo e fácil de entender!

// Compartilhe esse Post

💫
🔥 NOVO APP

Domine o Inglês em 30 dias!

Inteligência Artificial + Repetição Espaçada • Método cientificamente comprovado

✅ Grátis para começar 🚀 Resultados rápidos
×