一、枚举的概述
java 枚举(Enum)是一种特殊的数据类型,它允许你定义一组命名的常量。在 Java 中,枚举被实现为类,并且继承自 java.lang.Enum
类。枚举的使用可以提供类型安全、可读性强、易于理解的代码。
(1) 枚举的特点:
-
类型安全:枚举是类,因此它们有类的所有特性,包括类型安全。这意味着你不能将枚举实例强制转换为错误的类型。
-
自文档化:枚举的名称代表了常量的含义,这为代码提供了自然的文档化。
-
命名空间:枚举提供了一个命名空间,避免了名称冲突。例如,你可以有一个名为
Red
的枚举和一个名为red
的变量,而不会发生冲突。 -
序列化:枚举可以被序列化,并且可以控制它们的序列化版本。
-
实现接口:枚举可以实现接口,这使得它们可以拥有接口的方法。
(2) 枚举的特殊方法:
name()
:返回枚举常量的名称。ordinal()
:返回枚举常量的序号(从 0 开始)。values()
:返回包含所有枚举常量的数组。
二、实战
2.1 创建一个枚举类
public enum Season {SPRING("春季"),SUMMER("夏季"),AUTUMN("秋季"),WINTER("冬季");private String name;Season(String name){this.name = name;}public String getSeason(){return name;}}
2.2 调用枚举类
@SpringBootTest
class DemoApplicationTests {@Testvoid contextLoads() {System.out.println(Season.SPRING);System.out.println(Season.SPRING.getSeason());System.out.println(Season.SPRING.ordinal());Season season = Season.SUMMER;System.out.println(season);System.out.println(season.getSeason());System.out.println(season.ordinal());for(Season x : Season.values()){System.out.println(x);}}}
显示结果:
SPRING
春季
0
SUMMER
夏季
1
SPRING
SUMMER
AUTUMN
WINTER