Eclipse предоставляет функцию для открытия деклараций полей, вызванных методов и т.д.
(F3 или Правый щелчок => Открыть объявление или Ctrl + клик по вызываемому методу)
Однако в случае методов перечисления эта функция не работает, например MyEnum.values();
называется где-то в моем коде, и попытка открыть объявление values()
с указанными выше комбинациями не работает.
Почему Eclipse не открывает объявление таких методов перечисления?
Почему Eclipse не открывает объявление таких методов перечисления?
Потому что они вообще не объявлены в исходном коде. Они автоматически предоставляются компилятором - где вы ожидаете, что вас возьмут? Ctrl-щелчок на MyEnum
(а не метод values()
) должен открыть переименование без проблем.
Элементы перечисления типа E являются следующими:
- ...
Следующие неявно объявленные методы:
/* javadoc... */ public static E[] values(); /* javadoc... */ public static E valueOf(String name);
Обратите внимание, что обычные методы "перейти к декларации" должны работать для любых методов, которые действительно существуют в исходном коде.