Как я перефакторинг ссылок на статические члены перечисления - PullRequest
4 голосов
/ 16 декабря 2010

Мой код состоит из ссылок на перечисление следующим образом.

Flowers { ROSE, SUNFLOWER }

import com.mycompany.Flowers;

class A {
    public void foo(...) {
        Flowers flower = Flowers.ROSE;
    }
}

Я бы хотел, чтобы приведенный выше код использовал статические ссылки на Flowers, тогда код будет выглядеть как

import static com.mycompany.Flowers.ROSE;

Flowers flower = ROSE;

Как я могу перефакториентировать мой код (используя Eclipse), чтобы использовать статические ссылки на перечисления вместо обычного механизма ссылок.Есть ли способ заставить Eclipse изменить все обычные ссылки на перечисления на статические ссылки?

Ответы [ 3 ]

7 голосов
/ 16 декабря 2010

Это, вероятно, не так искусно, как вы ищете, но Ctrl + Shift + M на ссылке статического объекта будет статически импортировать его (работает как для членов, так и для методов) ... Таким образом, вы можете выполнять статический импорт по одному.

Меня тоже интересуют другие идеи,

0 голосов
/ 23 декабря 2010

Просто нажмите Ctrl + Shift + M на слове Rose, и вы увидите, что оно статически импортировано.

0 голосов
/ 18 декабря 2010

Вот как вы можете сделать это в два простых шага:

  • Используйте функцию поиска и замены, возможно, с помощью регулярного выражения, чтобы изменить все экземпляры Flowers.NAME на NAME.
  • Затем выполните весь проект «Организация импорта» следующим образом: выберите проект в проводнике пакетов и нажмите Ctrl + Shift + O (то же нажатие как версия для одного класса). Должен работать на пакеты и т.д .. Бобс твой дядя. (С этот ответ ).
...