Java 枚举


章节


Java 枚举/Enum

枚举是一种特殊的“类”,用于表示一组常量(不可更改的变量,类似final变量)。

要创建枚举,使用enum关键字,并用逗号分隔常量。按惯例,枚举的常量名是大写的:

示例

enum Level {
  LOW,
  MEDIUM,
  HIGH
}

可以通过点(.)语法访问枚举常量:

Level myVar = Level.MEDIUM;

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

类中的枚举

可以在一个类里面定义枚举:

示例

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("低级");
        break;
      case MEDIUM:
         System.out.println("中级");
        break;
      case HIGH:
        System.out.println("高级");
        break;
    }
  }
}

输出:

中级

遍历枚举

枚举类型有一个values()方法,该方法返回一个数组,包含了所有枚举常量,可用于遍历枚举:

示例

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

输出:

LOW
MEDIUM
HIGH

枚举和类之间的区别

枚举可以像类一样具有属性和方法。区别是,enum常量是publicstaticfinal的(不可更改,不能重写)。

枚举不能创建对象,不能继承其他类,但可以实现接口。

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

当有一些不变的值时应使用枚举,例如:月份名称、星期几、颜色等等。

原文地址:https://www.cnblogs.com/jinbuqi/p/11725359.html