天天看点

Java枚举类Enum

文章目录

    • Java枚举类Enum
      • 什么是枚举类和枚举类的使用场景
        • 什么是枚举
        • Java中的枚举Enum
        • 没有枚举类型时定义常量
        • 使用枚举类型定义
      • Java枚举的常见API的使用
        • Java枚举类常见API

Java枚举类Enum

什么是枚举类和枚举类的使用场景

什么是枚举

  • 在数学和计算机科学理论中,一个集的枚举是列某些有穷列集的所有成员的程序,或者是一种特定类型对象的计数。

Java中的枚举Enum

  • 枚举类型是Java5中新增特性的一部分,他是一种特殊的数据类型。
  • 定义枚举类型时使用的关键字是

    enum

    ,他与class关键字类似,但前者是定义枚举类型,后者是定义类类型
  • **注意:**枚举类一般是大写字母,多个值之间以逗号分隔

没有枚举类型时定义常量

//定义一个周里面的每天
public class DayConstant {
	public static final int MONDAY =1;
    public static final int TUESDAY=2;
	public static final int WEDNESDAY=3;
	public static final int THURSDAY=4;
	public static final int FRIDAY=5;
	public static final int SATURDAY=6;
	public static final int SUNDAY=7;
}
           

使用枚举类型定义

//枚举类型,使⽤用关键字enum
enum Day {
	MONDAY, TUESDAY, WEDNESDAY,
	THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
           

Java枚举的常见API的使用

Java枚举类常见API

//返回此枚举常量量的名称
name()
//该⽅方法获取的是枚举变量量在枚举类中声明的顺序,下标从0开始(它在枚举声明中的位置,其中
初始常量量序数为零,如果枚举的位置发⽣生变化,对应的值也会变化)
ordinal()
//和name⽅方法⼀一样
toString()
           
  • 默认生成

    values

    方法与

    valuesOf

    方法
    • //通过字符串获取对应的枚举值

      valueOf()

    • //获取枚举类中的所有变量,并作为数组返回

      values()

  • 例子
Day [] days = Day.values();
Day day = Day.valueOf("MONDAY");
System.out.println(day.name());

//枚举类型,使⽤用关键字enum
enum Day {
	MONDAY, TUESDAY, WEDNESDAY,
	THURSDAY, FRIDAY, SATURDAY, SUNDAY
}