Lombok — это библиотека, которая автоматически генерирует boilerplate-код для Java-классов, такой как геттеры, сеттеры, конструкторы, методы equals()
, hashCode()
и toString()
. Это достигается за счет использования аннотаций.
Примеры использования:
@Getter
/ @Setter
: Автоматическая генерация геттеров и сеттеров для полей класса.@NoArgsConstructor
, @RequiredArgsConstructor
, @AllArgsConstructor
: Автоматическая генерация различных видов конструкторов.@ToString
: Генерация метода toString()
.@EqualsAndHashCode
: Генерация методов equals()
и hashCode()
.@Data
: Сокращение, объединяющее @Getter
, @Setter
, @ToString
, @EqualsAndHashCode
и @RequiredArgsConstructor
.@Builder
: Реализация паттерна Builder.@Value
: Неизменяемый аналог @Data
(поля final
, убирает сеттеры).Преимущества Lombok:
Недостатки Lombok:
Пример кода с использованием Lombok:
java
Без Lombok этот класс выглядел бы примерно так
Lombok — это библиотека, которая автоматически генерирует boilerplate-код для Java-классов, такой как геттеры, сеттеры, конструкторы, методы equals()
, hashCode()
и toString()
. Это достигается за счет использования аннотаций.
Примеры использования:
@Getter
/ @Setter
: Автоматическая генерация геттеров и сеттеров для полей класса.@NoArgsConstructor
, @RequiredArgsConstructor
, @AllArgsConstructor
: Автоматическая генерация различных видов конструкторов.@ToString
: Генерация метода toString()
.@EqualsAndHashCode
: Генерация методов equals()
и hashCode()
.@Data
: Сокращение, объединяющее @Getter
, @Setter
, @ToString
, @EqualsAndHashCode
и @RequiredArgsConstructor
.@Builder
: Реализация паттерна Builder.@Value
: Неизменяемый аналог @Data
(поля final
, убирает сеттеры).Преимущества Lombok:
Недостатки Lombok:
Пример кода с использованием Lombok:
java
Без Lombok этот класс выглядел бы примерно так
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.