有没有办法在Java Enum中保持直整数?
示例:我正在研究餐厅管理系统。我想知道客户订购的食品单位数量(例如1,2,5等)
所以我在我的GUI中添加了一个组合框,其中单元列表将显示为:1,2,3等。现在,Java Enum不允许我编写这样的代码:
public enum UnitEnum {
1,2,3,4,5;
}
我能做的最多就是把它写成:
public enum UnitEnum {
_1,_2,_3,_4,_5;
}
但看起来非常奇怪。有没有办法让它看起来像第一个? (没有得分)。
答案 0 :(得分:6)
你可以这样做:
public enum UnitEnum {
ONE(1),
TWO(2),
THREE(3),
FOUR(4),
FIVE(5);
public final int quantity;
UnitEnum(int q) {
this.quantity = q;
}
public int getQuantity() { return this.quantity; }
}
答案 1 :(得分:0)
我为你的问题选择的方式是:
//Your enum
public enum UnitEnum{ONE, TWO, THREE, FOUR, FIVE};
//Using your enum
myENUM = 1; //compilation error
myENUM = UnitEnum.ONE // works
答案 2 :(得分:0)
enum CheeseNuggets { X6, X9 }
?也许不使用枚举,而是包装int[]
的类。
public class Ints {
public final int[] values;
public Ints(int... values) {
this.values = Arrays.copyOf(values, values.length);
}
}