<分区>
Possible Duplicate:
How to get Enum Value from index in Java?
我有一个像这样的枚举:
public enum EnumTest {
ONE, TWO, THREE
}
我怎么有一个像 1=ONE 2=TWO 3=THREE 这样的整数
现在我得到一个像 2 这样的整数,想从中生成 EnumTest,它应该返回两个 怎么做?
标签 java
<分区>
Possible Duplicate:
How to get Enum Value from index in Java?
我有一个像这样的枚举:
public enum EnumTest {
ONE, TWO, THREE
}
我怎么有一个像 1=ONE 2=TWO 3=THREE 这样的整数
现在我得到一个像 2 这样的整数,想从中生成 EnumTest,它应该返回两个 怎么做?
最佳答案
或者,为了更灵活:
public enum EnumTest {
ONE(1), TWO(2), THREE(3);
private int value;
EnumTest(int value) {
this.value = value;
}
static EnumTest getByValue(int i) {
for (EnumTest e : values()) {
if (e.value == i) {
return e;
}
}
return null;
}
}
想想看这个枚举的 future 开发者,如果你留下一个未记录的 values()
使用,任何人都可以通过添加新项目来破坏它。因为没有文档强制执行元素的顺序。
关于java - 如何从java中的整数中获取枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12280428/