Lombok @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor

Цикл статей «Project Lombok».

Следующая статья — «Lombok @Data».
Предыдущая статья — «Lombok @EqualsAndHashCode — облегчаем сравнение объектов».

Эти три аннотации генерируют конструктор, который принимает 1 параметр для определённых полей и просто присваивает этот параметр полю.

@NoArgsConstructor генерирует конструктор без параметров. Если это невозможно (потому что поля final), то возникает ошибка компиляции. Если используется @NoArgsConstructor(force = true), то все final поля инициализируются 0 / false / null. Для полей с ограничениями, например @NotNull, никаких проверок при присвоении не генерируется, поэтому эти условия могут не выполняться, пока эти поля не будут инициализированы подобающим образом позже. Читать далее Lombok @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor


Lombok @EqualsAndHashCode — облегчаем сравнение объектов

Цикл статей «Project Lombok».

Следующая статья — «Lombok @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor».
Предыдущая статья — «Lombok @ToString».

К любому объявлению класса может быть применена аннотация @EqualsAndHashCode, чтобы lombok сгенерировал методы equals(Object other) и hashCode(). По умолчанию используются все нестатические, не-transient поля, но вы можете исключить некоторые поля, перечислив их в параметре exclude. Или вы можете явно указать, какие поля вы хотите использовать, перечислив их в параметре of. Читать далее Lombok @EqualsAndHashCode — облегчаем сравнение объектов


Lombok @ToString

Цикл статей «Project Lombok».

Следующая статья — «Lombok @EqualsAndHashCode — облегчаем сравнение объектов».
Предыдущая статья — «Lombok @Getter и @Setter — больше не нужно писать геттеры и сеттеры».

К любому объявлению класса можно добавить аннотацию @ToString, чтобы lombok генерировал реализацию метода toString(). По умолчанию он возвращает имя класса и значения всех полей, разделённые запятыми.

Устанавливая параметр includeFieldNames в true, вы можете сделать вывод полей более понятным (но увеличить длину).

По умолчанию все нестатические поля выводятся. Если вы хотите пропустить некоторые поля, то вы можете перечислить их в параметре exclude. Или вы можете указать только поля, которые нужно выводить в параметре of. Читать далее Lombok @ToString