如何在java enum中使用整数

时间:2015-11-12 14:00:34

标签: java enums

有没有办法在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;
   }

但看起来非常奇怪。有没有办法让它看起来像第一个? (没有得分)。

3 个答案:

答案 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)

这是关于tutorial的一点点enums

我为你的问题选择的方式是:

//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);
    }
}