通过其内部字段获取枚举
有内部字段的枚举,有点像地图。
现在我需要通过它的内场来获取枚举。
写了这个:
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;
}
}
但是,每次我需要找到合适的实例时,查找所有枚举并不是很有效。
有没有其他方法可以做同样的事情?