Java 枚举
枚举
枚举(enum
)是一种特殊的“类”,代表一组常量(不可更改的变量,如 final
变量)。
如需创建 enum
,请使用 enum
关键字(而不是类或接口),并用逗号分隔常量。请注意,它们应为大写字母:
实例
enum Level { LOW, MEDIUM, HIGH }
您可以使用点语法访问 enum
常量:
Level myVar = Level.MEDIUM;
提示:Enum 是 "enumerations" 的缩写,意思是“特别列出”。
类中的枚举
您还可以在类中使用 enum
:
实例
public class Main { 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 Main { 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
可以像 class
一样拥有属性和方法。唯一的区别是枚举常量是 public
、static
和 final
(不可更改 - 不能被覆盖)。
enum
不能用于创建对象,也不能扩展其他类(但它可以实现接口)。
为什么以及何时使用枚举?
当您知道某些值不会改变时请使用枚举,例如月、日、颜色、一副牌等。