說(shuō)明
1、Java追加了java.lang.Enum抽象類,是所有的枚舉類型的基礎(chǔ)類。提供了基本的屬性和基本的方法。同時(shí),支持將枚舉作為Set和Map使用。
2、用關(guān)鍵字enum創(chuàng)建枚舉類型并進(jìn)行編譯之后,編譯器就會(huì)為我們生成一個(gè)相關(guān)的類別,它繼承了java.lang.Enum類。
實(shí)例
public abstract class Enum>
implements Comparable, Serializable {
// 枚舉的常量名,例如MONDAY, TUESDAY
private final String name;
public final String name() {
return name;
}
// 枚舉的序號(hào),按順序從0開(kāi)始
private final int ordinal;
public final int ordinal() {
return ordinal;
}
protected Enum(String name, int ordinal) {
this.name = name;
this.ordinal = ordinal;
}
public String toString() {
return name;
}
public static> T valueOf(ClassenumType,
String name) {
T result = enumType.enumConstantDirectory().get(name);
if (result != null)
return result;
if (name == null)
throw new NullPointerException("Name is null");
throw new IllegalArgumentException(
"No enum constant " + enumType.getCanonicalName() + "." + name);
}
...
}
以上就是java枚舉類型的原理,希望對(duì)大家有所幫助。更多關(guān)于“Java培訓(xùn)”的問(wèn)題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗(yàn),課程大綱更科學(xué)更專業(yè),有針對(duì)零基礎(chǔ)的就業(yè)班,有針對(duì)想提升技術(shù)的好程序員班,高品質(zhì)課程助力你實(shí)現(xiàn)java程序員夢(mèng)想。