有没有办法让Java枚举为其元素"丢失"整数值?

Tho*_*ens 4 java enums

例如,我在枚举中有两个元素.我希望第一个由整数值0和字符串A表示,但第二个由整数值2和字符串"B"(而不是1)表示.这可能吗?

目前,我的枚举声明如下:

public enum Constants {
    ZERO("Zero");
    TWO("Two");
}
Run Code Online (Sandbox Code Playgroud)

如果我得到ZERO和TWO的整数值,我现在分别得到0和1.但是,我想获得0和2.

Ric*_*ler 14

我假设您指的是使Enum的序数返回用户定义值的方法.如果是这种情况,不.

如果要返回特定值,请实现(例如getValue())并在Enum构造函数中传递它.

例如:

public enum Constants {
    ZERO("Zero",0),
    TWO("Two",2);

    final private String label;
    final private int value;

    Constants(String label, int value) {
        this.label = label;
        this.value= value;
    }

    public int getValue() {
        return value;
    }

    public String getLabel() {
        return label;
    }
}
Run Code Online (Sandbox Code Playgroud)