我可以在Java中为枚举指定序号吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (20)

ordinal()方法返回一个枚举实例的序号。 我如何设置枚举的序号?

提问于
用户回答回答于
用户回答回答于

可以通过更改枚举的顺序来控制序号,但不能像C++中那样显式设置它。一种解决方法:

enum Foo {
  BAR(3),
  BAZ(5);
  private final int val;
  private Foo(int v) { val = v; }
  public int getVal() { return val; }
}

在这种情况下BAR.ordinal() == 0,但是BAR.getVal() == 3

扫码关注云+社区