扫码一下
查看教程更方便
枚举是一个特殊的“类”,它表示一组常量(不可更改的变量,如 final
变量)。
要创建枚举,请使用 enum
关键字(而不是类或接口),并用逗号分隔常量。 请注意,它们应该是大写字母:
enum Level { LOW, MEDIUM, HIGH }
可以使用
.
语法访问枚举常量:Level myVar = Level.MEDIUM;
上面示例运行结果如下
MEDIUM
Enum 是“enumerations”的缩写,意思是“特别列出”。
我们也可以在一个类中定义枚举:
public class Main { enum Level { LOW, MEDIUM, HIGH } public static void main(String[] args) { Level myVar = Level.MEDIUM; System.out.println(myVar); } }
输出为
MEDIUM
枚举通常用于 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("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
枚举和类之间的区别
枚举可以像类一样具有属性和方法。 唯一的区别是枚举常量是
public
、static
和final
的(不可更改 - 不能被覆盖)。枚举不能用于创建对象,也不能继承其他类(但它可以实现接口)。
为什么以及何时使用枚举?
当你有你知道不会改变的值时可以使用枚举,比如日、颜色、卡片组等。