这应该是显而易见的,但事实并非如此。有没有一种方法可以获取枚举的值,如下面的示例所示?
例:
public enum Numbers
{
zero, one, two
}
//later on
Numbers numbers = Numbers.zero;
// this is the part that I can not figure out the java equivalent of?
int number = numbers.value();
这对我要做什么有意义吗?
最佳答案
根据您的注释,您似乎需要将一个整数值映射到您的enum
,以将其集成到代码的另一部分。
而不是依靠订购,您真正想自己做:
public enum MyEnum {
ZERO(0), ONE(1), TWO(2);
private int mapping;
MyEnum(int mapping) {
this.mapping = mapping;
}
public int getMapping() {
return mapping;
}
}
然后,您可以通过以下方式进行比较:
MyEnum e = MyEnum.ZERO;
if (someInt == e.getMapping()) { ... }
(甚至只是
MyEnum.ZERO.getMapping()
)关于java - 枚举当前设置为的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16698401/