Это не вопрос новых функций в enum.
Это не вопрос, который ждет ответа, который говорит
enum эквивалентен классу xyz extends Enum. Если вы хотите проповедовать о том, как используются перечисления, как показано в многочисленных руководствах, не отвечайте.
Этот вопрос конкретно о том, как использовать класс java.lang.Enum.
Скорее это правда, что java.lang.Enum не может быть напрямую расширен или создан, верно?
Это правда, что java.lang.Enum предназначен только для типа enum и ничего больше, верно?
Если так, переменные цвета довольно бессмысленны, верно? Хотя компилятор это позволяет.
final static Enum<colors> colours = null;
enum colors {"R","G","B"};
Итак, что я мог бы приравнять к переменным цветам помимо нуля.
конечно, компилятор не позволит мне сделать это
class BaseColour extends Enum<BaseColour>{ ,,,}
но это позволяет перечислить несправедливое преимущество, позволяя сделать это как манипуляцию за кулисами компилятора.
Я задаю этот вопрос, потому что хочу сделать что-то подобное
class Reddish extends BaseColour {"Crimson", "Blood", "Pink"};
class Purplish extends BaseColour {"Violet", "Evening Sky", "Brinjal"};
class Greenish extends BaseColour {"Algae", "Leaf"};
Я хочу передать любой из перечисленных и только перечисленных типов в метод
void squeezeColour(BaseColour colourConstraint)
{ ... }
Возможно ли это?
/ ** Если нет, и если вы оказались Джеймсом Гослингом и др., Не могли бы вы рассмотреть это для следующей версии спецификаций Java? ** /
Дальнейшее дополнение к вопросу: я забыл сказать это ...
То, над чем я работаю, - это использование EnumMap или EnumSet и использование методов содержимого и диапазона. Это лучшее, что я мог сделать?