程序小牛

来了就随便看看,虽然没有什么好看的~~

enum定义枚举类使用

以往的项目中总会定义一些常量提供使用,当类别较多时并不好理解和维护,jdk5后支持enum使用枚举类,能够更简洁,约束性更强。下面简单介绍下enum枚举类的使用。

一、使用enum定义枚举类的说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public enum SeasonEnum {
SPRING("春天","春风又绿江南岸"),
SUMMER("夏天","映日荷花别样红"),
AUTUMN("秋天","秋水共长天一色"),
WINTER("冬天","窗含西岭千秋雪");
private final String seasonName;
private final String seasonDesc;
private SeasonEnum(String seasonName, String seasonDesc) {
this.seasonName = seasonName;
this.seasonDesc = seasonDesc;
}
public String getSeasonName() {
return seasonName;
}
public String getSeasonDesc() {
return seasonDesc;
}
}
  1. 使用enum定义的枚举类默认继承了java.lang.Enum类,因此不能够继承其他类,但可以实现接口
  2. 枚举类的构造器只能使用private权限修饰符,即不能通过外部生成枚举类对象
  3. 枚举类的所有实例必须在第一行声明,显式列出(,分割;结尾),列出的实例系统会自动添加public static final修饰
  4. jdk1.5中可以在switch表达式中使用Enum定义枚举类的对象作为表达式

二、enum类的主要方法

1、values()

用于返回枚举实例的对象数组,可以方便遍历当前枚举类的所有枚举值

1
2
3
4
5
6
7
@Test
public void testEnumValuesMethod(){
SeasonEnum[] seasonEnums = SeasonEnum.values();
for(SeasonEnum seasonEnum:seasonEnums){
System.out.println(seasonEnum);
}
}

image-20211216001619105

2、ordinal()

返回枚举实例的序数,从0开始

image-20211216002126994

3、name()

用于返回枚举类型实例名称

image-20211216002352584

4、values of()

用于返回指定名称的枚举实例

image-20211216002824596

5、switch

用于switch-case语句中

image-20211216003038841