Java 枚举

创建于 2024-12-02 / 24
字体: [默认] [大] [更大]

枚举

enum 枚举是一个特殊的"类",它表示一组常量(不可更改的变量,如final变量)。

要创建enum,请使用enum关键字(而不是类或接口),并用逗号分隔常量。请注意,它们应为大写字母:

实例

enum Level {
  LOW,
  MEDIUM,
  HIGH
}

您可以使用.语法访问enum枚举常量:

Level myVar = Level.MEDIUM; 运行实例 »

Enum 是"enumerations"的缩写,意思是"特别列出"。


类内的枚举

您还可以在类中具有 enum 枚举:

实例

public class MyClass {
  enum Level {
    LOW,
    MEDIUM,
    HIGH
  }

  public static void main(String[] args) {
    Level myVar = Level.MEDIUM; 
    System.out.println(myVar);
  }
}

输出将是:

MEDIUM 运行实例 »

Switch 语句中的枚举

枚举通常用于switch语句中检查相应的值:

实例

enum Level {
  LOW,
  MEDIUM,
  HIGH
}

public class MyClass {
  public static void main(String[] args) {
    Level myVar = Level.MEDIUM;

    switch(myVar) {
      case LOW:
        System.out.println("Low level");
        break;
      case MEDIUM:
         System.out.println("Medium level");
        break;
      case HIGH:
        System.out.println("High level");
        break;
    }
  }
}

输出将是:

Medium level 运行实例 »

循环遍历枚举

枚举类型有一个 values() 方法,该方法返回所有枚举常量的数组。如果要循环遍历枚举的常量,此方法非常有用:

实例

for (Level myVar : Level.values()) {
  System.out.println(myVar);
}

输出将是:

LOW
MEDIUM
HIGH
运行实例 »

枚举和类之间的差异

enum枚举可以像class类一样具有属性和方法。唯一的区别是枚举常量是public, staticfinal(不可更改-无法重写)。

enum 枚举不能用于创建对象,也不能扩展其他类(但可以实现接口)。

为什么以及何时使用枚举?

当您知道值不会更改时,如月日期、星期、颜色等,请使用枚举。



0 人点赞过