Java枚举可以迭代吗?

Can Java enum be iterated?

本问题已经有最佳答案,请猛点这里访问。

我能做点像me[1]MyEnum[1]的事情吗?如果我有:

enum MyEnum {e1,e2,e3,e4};
//...
MyEnum me;

我试过了,但似乎产生了错误。这是另一种方法,还是我可以使用像MyEnum.e2这样的东西?


Can Java enum be iterated?

是的,enum可以用values()方法迭代。

1
2
3
 for(MyEnum myenum: MyEnum.values()){
   // ..
 }

Can I do something like me[1] or MyEnum[1]?

MyEnum.values()返回MyEnum[]在其中可以放置索引

1
2
MyEnum[] me=MyEnum.values();
MyEnum secVal= me[1]; //it will return e2.

你可能要找的是MyEnum.values()