天天看點

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
}