Одним из популярных инструментов для сокращения кода в Java является Lombok. Он позволяет упростить написание классов, автоматически генерируя методы, такие как setters и getters, а также конструкторы, методы equals(), hashCode() и toString().
Возьмем в качестве примера класс Person с полями name, age, address. Обычно для каждого из этих полей необходимо ручное создание геттеров и сеттеров. Но с помощью аннотации @Data в Lombok эту задачу можно автоматизировать.
@Data
public class Person {
private String name;
private int age;
private String address;
}
Однако возникает вопрос: что делать, если для какого-то поля не требуются геттеры или сеттеры? Например, для поля age не нужен сеттер, так как возраст человека должен быть установлен только один раз при создании объекта и не может быть изменен.
В Lombok есть решение и для этой задачи. Если необходимо исключить генерацию getter или setter для определенного поля, достаточно использовать аннотацию @Getter(AccessLevel.NONE) или @Setter(AccessLevel.NONE) соответственно.
@Data
public class Person {
private String name;
@Setter(AccessLevel.NONE)
private int age;
private String address;
}
В этом случае Lombok сгенерирует геттеры и сеттеры для всех полей, кроме age. Таким образом, можно легко управлять тем, для каких полей генерировать методы доступа, сохраняя при этом все преимущества использования Lombok.
Перейти в телеграм, чтобы получить результаты теста



Забрать
Добавить комментарий