Java 枚举
-
Java 枚举
enum 是一个特殊的“类”,代表一组常量(不可更改的变量,如final变量)。要创建enum,请使用enum关键字(而不是class或interface),并用逗号分隔常量。请注意,它们应使用大写字母:enum Level { LOW, MEDIUM, HIGH }
您可以使用点语法访问enum常量:Level myVar = Level.MEDIUM;
-
类内的枚举
您也可以在类内部进行定义枚举:
尝试一下public class MyClass { enum Level { LOW, MEDIUM, HIGH } public static void main(String[] args) { Level myVar = Level.MEDIUM; System.out.println(myVar); } }
-
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; } } }
-
遍历枚举
枚举类型具有一个values()方法,该方法返回所有枚举常量的数组。当您要遍历枚举的常量时,此方法很有用:
尝试一下for (Level myVar : Level.values()) { System.out.println(myVar); }
枚举和类之间的区别:枚举可以像类一样具有属性和方法。唯一的区别是枚举常量是public、static和final(不可更改 - 不能重写)。枚举不能用于创建对象,也不能扩展其他类(但它可以实现接口)。为什么以及何时使用枚举?当您知道值不会改变时,例如月日、日、颜色、卡片组等,请使用枚举。