Junior
O que é a biblioteca Lombok?
sobes.tech IA
Resposta da IA
Lombok é uma biblioteca Java que, através de anotações, permite gerar automaticamente código padrão (getters, setters, equals, hashCode, toString, construtores, etc.), reduzindo a verbosidade do código e tornando-o mais legível.
Anotações principais:
@Getter / @Setter: geram getters e setters.@ToString: gera o métodotoString.@EqualsAndHashCode: gera os métodosequalsehashCode.@NoArgsConstructor / @RequiredArgsConstructor / @AllArgsConstructor: geram diferentes tipos de construtores.@Data: combina@Getter,@Setter,@RequiredArgsConstructor,@ToString,@EqualsAndHashCode.@Builder: fornece uma API fluida para criar objetos.
Exemplo de uso:
// Importações Lombok
import lombok.Data;
import lombok.Builder;
// A anotação @Data gera getters, setters,
// construtor com argumentos obrigatórios, além de métodos toString, equals e hashCode.
@Data
// A anotação @Builder permite usar o padrão Builder para criar objetos.
@Builder
public class User {
private Long id;
private String name;
private int age;
// Lombok irá gerar automaticamente:
// getId(), setId(Long id)
// getName(), setName(String name)
// getAge(), setAge(int age)
// construtor(Long id, String name, int age) - se todos os campos forem finais, ou se usar @RequiredArgsConstructor com campos finais
// toString()
// equals()
// hashCode()
// Exemplo de uso do Builder:
// User user = User.builder()
// .id(1L)
// .name("Alice")
// .age(30)
// .build();
}
Vantagens:
- Redução do volume de código.
- Melhoria da legibilidade do código.
- Diminuição da probabilidade de erros ao escrever código padrão.
Desvantagens:
- Requer integração com IDE.
- Pode dificultar a depuração, pois o código gerado não é visível diretamente.