Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java枚举中使用整数_Java_Enums - Fatal编程技术网

如何在java枚举中使用整数

如何在java枚举中使用整数,java,enums,Java,Enums,有没有办法在Java枚举中保持正整数 我正在开发一个餐厅管理系统。我想知道客户将订购多少单位的食品(例如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; } 但它看起来非常奇怪。有没有办法让它

有没有办法在Java枚举中保持正整数

我正在开发一个餐厅管理系统。我想知道客户将订购多少单位的食品(例如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;
   }
但它看起来非常奇怪。有没有办法让它看起来像第一个?(在没有得分不足的情况下)。

您可以:

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; }
}
你可以做:

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; }
}
这里有一点关于

对于您的问题,我会选择如下方式:

//Your enum
public enum UnitEnum{ONE, TWO, THREE, FOUR, FIVE};
//Using your enum
myENUM = 1; //compilation error  
myENUM = UnitEnum.ONE // works
这里有一点关于

对于您的问题,我会选择如下方式:

//Your enum
public enum UnitEnum{ONE, TWO, THREE, FOUR, FIVE};
//Using your enum
myENUM = 1; //compilation error  
myENUM = UnitEnum.ONE // works

enum CheeseNuggets{X6,X9}
?可能不使用枚举,而是使用类包装
int[]

public class Ints {
    public final int[] values;

    public Ints(int... values) {
        this.values = Arrays.copyOf(values, values.length);
    }
}

enum CheeseNuggets{X6,X9}
?可能不使用枚举,而是使用类包装
int[]

public class Ints {
    public final int[] values;

    public Ints(int... values) {
        this.values = Arrays.copyOf(values, values.length);
    }
}

不,没有。名称必须以字符、
$
\uu
开头。问题是:为什么不写它们:
1
2
,…?这只是为了节省时间:p看,1,2,3等等。需要输入这么多字母。你必须使用枚举吗?为什么不
Collections.unmodifiableSet(新树集(Arrays.asList(1,2,5)))
?不,没有。名称必须以字符、
$
\uu
开头。问题是:为什么不写它们:
1
2
,…?这只是为了节省时间:p看,1,2,3等等。需要输入这么多字母。你必须使用枚举吗?为什么不
Collections.unmodifiableSet(新树集(Arrays.asList(1,2,5))
?并在组合框中显示数量
private UnitEnum(intq){quantity=q;}
。它说枚举UnitEnum中的构造函数UnitEnum不能应用于给定的类型。必需:未找到参数:int原因:实际参数列表和形式参数列表长度不同。为什么不在此处使用
ordinal()
,而不是定义字段
quantity
?并在组合框中显示数量
private UnitEnum(intq){quantity=q;}
。它说枚举UnitEnum中的构造函数UnitEnum不能应用于给定的类型。必需:未找到参数:int原因:实际参数列表和形式参数列表的长度不同。为什么不在此处使用
ordinal()
,而不是定义字段
quantity