Как в Intellij Idea сгенерировать геттеры/сеттеры и сразу их использовать вместо переменных в существующем коде?

До

public class Main1 {
    int i;
    String s;

    void a() {
        i = 456;
        s = "Text";
        System.out.println(i + s);
    }
}

После

public class Main1 {
    int i;
    String s;
    
    public int getI() {
        return i;
    }

    public void setI(int i) {
        this.i = i;
    }

    public String getS() {
        return s;
    }

    public void setS(String s) {
        this.s = s;
    }

    void a() {
        setI(456);
        setS("Text");
        System.out.println(getI() + getS());
    }
}

Как изменить первый код на второй без ручного изменения, в Intellij Idea


Ответы (3 шт):

Автор решения: Алексей Шиманский

Делаем раз:

введите сюда описание изображения

Делаем два:

введите сюда описание изображения

Готово.


На счёт строки System.out.println(getI() + getS()); без ручного вмешательства возможно никак

→ Ссылка
Автор решения: Roman Konoval

Воспользуйтесь рефакториногом Encapsulate Fields из меню Refactor.

Он позволяет сгенерировать геттеры и сеттеры и заменить использование полей на новые сгенерированные функции.

окно рефакторинга Encapsulate Fields в IntelliJ IDEA

→ Ссылка
Автор решения: USER1111

На Windows с помощью сочетания клавиш alt + insert появится меню генерации. Там можно выбрать создать геттеры и сеттеры как отдельно, так и вместе

→ Ссылка