这应该是显而易见的,但事实并非如此。有没有一种方法可以获取枚举的值,如下面的示例所示?

例:

    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/

10-10 09:14