在java中定义整数值的枚举

时间:2014-12-01 14:34:24

标签: java enums

我正在尝试使用Integer值定义枚举类型。我试图这样做,因为我在我的代码中的多个地方使用此特定值,它只能是这个。下面的代码不起作用。我想我不应该像这样使用枚举。我应该使用一个类并将可能的值放在数组中吗?

public enum Pitch {
    "60" , "62", "64", "65", "67", "69", "71", "72", "74";

}

3 个答案:

答案 0 :(得分:2)

我不确定枚举是否是最佳选择,但您可以尝试以下方式:

public enum Pitch {
    p60(60), p62(62), ...;

    private final int pitch;

    Pitch(int pitch) {
        this.pitch = pitch;
    }

    public int getValue() {
        return pitch;
    }
}

答案 1 :(得分:1)

您必须为枚举指定名为LITERALS的内容。

你能做的是

public enum Pitch
{
    SOMENAME(60),
    SOMEOTHERNAME(62),
    // ...
    SOMELASTNAME(74);

    public final int value;

    public Pitch(int val)
    {
        this.value = val;
    }
 }

然后您可以按名称访问您的特定值,您可以写

Pitch pitch = ...;
int pitchInt = pitch.value;

使用值。

答案 2 :(得分:0)

如果您想通过索引访问值,则应使用类似

的数组
String[] pitch = new String[] {
    "60" , "62", "64", "65", "67", "69", "71", "72", "74"
};

枚举用于不记住值并改为命名:

public enum Weekday {
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}

因此,您可以通过名称而不是索引来访问值。