Можете объяснить назначение и работу аннотации @RequiredArgsConstructor в Lombok?

Аннотация @RequiredArgsConstructor из библиотеки Lombok автоматически генерирует конструктор с параметрами для всех полей класса, которые объявлены как final или имеют аннотацию @NonNull.

Короткий ответ

Что ответить на собеседовании

Аннотация @RequiredArgsConstructor из библиотеки Lombok автоматически генерирует конструктор с параметрами для всех полей класса, которые объявлены как final или имеют аннотацию @NonNull.

Подробный разбор

Ответ с пояснениями

Аннотация @RequiredArgsConstructor из библиотеки Lombok автоматически генерирует конструктор с параметрами для всех полей класса, которые объявлены как final или имеют аннотацию @NonNull.

Это удобно, чтобы не писать вручную конструктор, который инициализирует обязательные поля.

Пример:

@RequiredArgsConstructor
public class User {
    private final String name;
    private int age;
}

В этом примере Lombok сгенерирует конструктор User(String name), так как поле name — final. Поле age не включается в конструктор, так как не final и не помечено @NonNull.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее