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
常量是public
、static
和final
的(不可更改,不能重写)。枚举不能创建对象,不能继承其他类,但可以实现接口。
为什么以及何时使用枚举?
当有一些不变的值时应使用枚举,例如:月份名称、星期几、颜色等等。