Я часто ситуации, когда мне нужно переменный для класса, который может быть представлен в виде простого перечислимого типа, например:Перечисление переименования Java?
private enum PageOrder {DOWN_THEN_OVER, OVER_THEN_DOWN};
Если объявить тип перечисления внутри класса, который содержит переменный, то у меня есть использовать квалифицированное имя MyClass.PageOrder
, что неудобно. Но если я создаю новый класс, у меня есть класс для простой декларации перечисления, которая кажется излишней для меня.
По этой причине я часто использую целые числа вместо типа перечисления.
Любые комментарии/предложения по этой теме?
Никогда не «исправляйте» правильное решение для неправильного, просто чтобы сохранить ввод. – biziclop
"* Но если я создаю новый класс, у меня есть класс для простой декларации перечисления, которая кажется излишней для меня *" - где перегиб? Частное перечисление также является классом (со своим собственным .class-файлом) - он имеет только различную видимость. –
Перечисление в собственном файле может показаться излишним, но это не так. Это вполне уместно, и это хороший дизайн. Добавьте полезный javadoc в класс enum и к каждой из его констант, и вы обнаружите, что исходный файл не будет выглядеть почти таким же скудным. Существует законное использование для внутренних классов, но создание чего-то внутреннего класса просто потому, что его собственный файл будет «слишком тяжелым», не является веской причиной. – VGR