Я экспериментировал немного с перечислениями и массивов в Java:Java массив с перечислениями
enum animals
{CAT, DOG, COW, BIRD, POTATO}
Чтобы получить это в массив, я просто это сделать ...
animals[] creatures = {animals.CAT, animals.POTATO};
Но теперь, если у меня есть определить больше записей, я думал, что было бы полезно, если бы я просто ввести в перечислении без animals.XXX, как я сделать в C++
animals[] creatures = {CAT, POTATO, BIRD, CAT, CAT, POTATO, COW...}
- Это займет время и дает мне лучший обзор
- Java уже знает, что моя цель тип «животные», поэтому, на мой взгляд это лишнее (?)
Так что я просто подумал, это возможно в любом случае, и почему, если нет?
Обратите внимание, что существует явное несоответствие между тем, что вы написали выше, и синтаксисом 'switch' для перечислений:' cases' в таких операциях switch _cannot_ be 'case animals.CAT:' и т. Д., Но вместо этого они _must_ be ' case CAT: 'в отличие от их использования в инициализаторе массива. Таким образом, вы можете увеличить свой вопрос, спросив, может ли я (на самом деле должен) оставить квалификатор в операторах 'case', почему я не могу сделать то же самое в инициализаторах массива? (И наоборот, конечно.) –