Как использовать генераторы кода в IntelliJ IDEA?

«Как использовать генераторы кода в IntelliJ IDEA?» — вопрос из категории Other, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Генераторы кода в IntelliJ IDEA (Alt+Insert / Cmd+N на Mac в редакторе, или меню Code → Generate) — мощный инструмент для автоматизации написания шаблонного кода, что повышает скорость и снижает количество опечаток.

Что можно сгенерировать:

  1. Методы доступа: Геттеры и сеттеры (можно выбрать все поля или конкретные).
  2. Конструкторы: Конструкторы по умолчанию, со всеми полями или с выбранным набором полей.
  3. Методы equals() и hashCode(): IDEA предлагает умные шаблоны (например, через Objects.equals() и Objects.hash()).
  4. Метод toString(): В удобном формате.
  5. Переопределение методов (@Override): Позволяет быстро переопределить методы родительского класса или реализовать методы интерфейса.
  6. Тестовый класс (для JUnit, TestNG).
  7. Делегирование (шаблон delegate).

Пример генерации конструктора и toString():

// Исходный класс
public class Person {
    private String name;
    private int age;
    // Alt+Insert -> Constructor -> Выбираем name и age
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    // Alt+Insert -> toString() -> Выбираем шаблон
    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + ''' +
                ", age=" + age +
                '}';
    }
}

Преимущества: Соблюдение конвенций кода, единообразие, экономия времени и предотвращение ошибок в рутинных участках кода, особенно при создании POJO/DTO-сущностей.