【发布时间】:2016-01-24 00:48:36
【问题描述】:
我用 Java 中的枚举和数组做了一些实验:
enum animals
{CAT, DOG, COW, BIRD, POTATO}
要将其放入数组中,我只需这样做...
animals[] creatures = {animals.CAT, animals.POTATO};
但现在,如果我必须定义更大的条目,我认为如果我可以像在 C++ 中那样输入枚举without animals.XXX 会很有用
animals[] creatures = {CAT, POTATO, BIRD, CAT, CAT, POTATO, COW...}
- 这需要时间并让我更好地了解情况
- Java 已经知道我的目标类型是“动物”,所以在我看来这是不必要的 (?)
所以我只是想知道这是否有可能,如果没有,为什么?
【问题讨论】:
-
另请注意,您在上面写的内容与枚举的
switch语法之间存在明显差异:此类 switch 语句中的cases不能为case animals.CAT:等等,但它们 必须 是case CAT:,这与它们在数组初始值设定项中的使用不同。因此,您可以通过询问来扩大您的问题,如果我可以(实际上必须)在case语句中省略限定符,为什么我不能在数组初始值设定项中做同样的事情? (当然反之亦然。)