有内场,地图的枚举.
现在我需要通过其内部领域获得枚举.
写道:
package test;
/**
* Test enum to test enum =)
*/
public enum TestEnum {
ONE(1), TWO(2), THREE(3);
private int number;
TestEnum(int number) {
this.number = number;
}
public TestEnum findByKey(int i) {
TestEnum[] testEnums = TestEnum.values();
for (TestEnum testEnum : testEnums) {
if (testEnum.number == i) {
return testEnum;
}
}
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
但是每次我需要找到合适的实例时,查看所有枚举并不是非常有效.
有没有其他方法可以做同样的事情?
Perhap这是一个简单的基本问题
有一个枚举
public enum TK{
ID,GROUP,DATA,FAIL;
}
Run Code Online (Sandbox Code Playgroud)
我可以获得订单号,例如ID = 0,GROUP = 2,DATA = 3,FAIL = 4?
这是一种方法,但这是一个奇怪而漫长的方式!= S
public enum TK{
ID(0),GROUP(1),DATA(2),FAIL(3);
int num;
TK(int n)
{
this.num=n;
}
public int get()
{
return num;
}
};
Run Code Online (Sandbox Code Playgroud)
得到数字所以我写TK.ID.get(),TK.GROUP.get()等...我不喜欢那样
有一个更好的方法?
(C enums,C macros ..我想念你们两个)
谢谢