Как переместить статические переменные из класса в другой класс при рефакторинге в IntelliJ или Android Studio?

предположим Class A С некоторыми статическими параметрами:

public Class A {
    public static final String KEY_1="key1"
    public static final String KEY_2="key2"
    ...
}

статические параметры используются повторно в проекте. При рефакторинге я хочу переместить их в другой класс, скажем Class B; но при этом я должен обновлять каждый вариант их использования, например A.KEY_1 to B.KEY_2 вручную.

есть ли способ сделать это автоматически в Android Studio или IntelliJ? То, что я уже пробовал, - это выбор строк, содержащих параметры, и нажатие F6, которое открывает диалог рефакторинга, но прохождение его не приводит меня к тому, что я хочу.

1 ответов


IntelliJ составляет действительно хорошо рефакторинга. Поместите курсор на константу, которую вы хотите переместить, и сделайте следующее:

  1. рефакторинг - > перемещение (с привязками клавиш по умолчанию это также можно сделать, нажав F6).
  2. вы получите диалоговое окно с запросом полного имени класса, в который вы хотите его переместить (не волнуйтесь-просто начните печатать, и IntelliJ будет автозаполнен для вас) и меню для выбора измененной видимости вы хотите назначить переменной/константе.
  3. Нажмите кнопку "рефакторинг"
  4. наслаждайтесь