📜  Java中具有自定义值的枚举(1)

📅  最后修改于: 2023-12-03 15:16:19.448000             🧑  作者: Mango

Java中具有自定义值的枚举

Java中的枚举是一种常见的数据类型,常常用于表示一组常量。Java的枚举是通过enum关键字定义的。Java中的枚举是一个类,因此可以在枚举中定义方法和属性。

默认枚举

Java中的默认枚举值自动分配数值,如下所示:

enum Days {
  MONDAY,
  TUESDAY,
  WEDNESDAY,
  THURSDAY,
  FRIDAY,
  SATURDAY,
  SUNDAY
}

以上代码定义了一个Days枚举,其中每个枚举值默认分配一个整数值,MONDAY的值为0,TUESDAY的值为1,以此类推。可以使用ordinal()方法获取枚举值的数值。

自定义枚举值

Java中的枚举也可以包含自定义值,如下所示:

enum Direction {
  NORTH("N"),
  SOUTH("S"),
  EAST("E"),
  WEST("W");

  private final String abbreviation;

  Direction(String abbreviation) {
    this.abbreviation = abbreviation;
  }

  public String getAbbreviation() {
    return abbreviation;
  }
}

以上代码定义了一个Direction枚举,其中每个枚举值都有一个对应的缩写,使用构造函数初始化。此外,枚举中还定义了一个getAbbreviation()方法,用于获取缩写属性。

可以通过如下方式获取枚举值的自定义值:

Direction direction = Direction.NORTH;
String abbreviation = direction.getAbbreviation();
总结

Java中的枚举是一种强类型的常量类型,可以通过enum关键字定义。枚举默认分配一个整数值,也可以包含自定义值。自定义值通常使用构造函数初始化,可以通过在枚举中定义方法来操作自定义值。枚举常常用于表示一组常量。