首頁  >  文章  >  Java  >  java中的枚舉到底是什麼鬼

java中的枚舉到底是什麼鬼

(*-*)浩
(*-*)浩原創
2019-11-12 09:16:283321瀏覽

枚舉是一種特殊的資料型,之所以特殊是因為它既是一種類別(class)型別卻比型別多了些特殊的約束,但是這些約束的存在也造就了列舉類型的簡潔,安全性以及便利性。

java中的枚舉到底是什麼鬼

建立枚舉型別要使用enum關鍵字,隱含了所建立的型別都是java.lang. Enum類別的子類別(java.lang.Enum是一個抽象類別)。

枚舉型別符合通用模式Class Enum271447d3c75ca4f8ce424bd25b75b2af>,而E表示枚舉類型的名稱。 (推薦學習:java課程

枚舉類型的每一個值都對應到protected Enum(String name,int ordinal)建構子中,在這裡,每個值的名稱都轉換成一個字串,並且序數設定表示了此設定被創建的順序。

枚舉的使用:

建立一個列舉類別:EnumTest 

public enum EnumTest {
	//星期一,星期二,星期三,星期四,星期五,星期六
	MON(1), TUE(2),WED(3),THU(4),FRI(5),SAT(6){	
		public boolean isRest(){
			return true;
		}
	},
	//星期日
	SUN(0){
		public boolean isRest(){
			return true;
		}
	};
	private int value;
	private  EnumTest(int value){
		this.value=value;
	}
	public int getValue(){
		return value;
	}
	public boolean isRest(){
		return  false;
	}
}

使用EnumTest枚舉類別:

public class EnumMain {
	public static void main(String[] args) {
		for (EnumTest enumTest : EnumTest.values()) {
			System.out.println(enumTest + ":" + enumTest.getValue());
		}
		System.out.println("---------------我是分割线------------");
		EnumTest test = EnumTest.SAT;
		switch (test) {
		case MON:
			System.out.println("今天是星期一");
			break;
		case TUE:
			System.out.println("今天是星期二");
			break;
		case WED:
			System.out.println("今天是星期三");
			break;
		case THU:
			System.out.println("今天是星期四");
			break;
		case FRI:
			System.out.println("今天是星期五");
			break;
		case SAT:
			System.out.println("今天是星期六");
			break;
		case SUN:
			System.out.println("今天是星期日");
			break;
		default:
			System.out.println(test);
			break;
		}
	}
}

以上是java中的枚舉到底是什麼鬼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn