說明
1、Java追加了java.lang.Enum抽象類,是所有的枚舉類型的基礎類。提供了基本的屬性和基本的方法。同時,支持將枚舉作為Set和Map使用。
2、用關鍵字enum創建枚舉類型并進行編譯之后,編譯器就會為我們生成一個相關的類別,它繼承了java.lang.Enum類。
實例
public abstract class Enum>
implements Comparable, Serializable {
// 枚舉的常量名,例如MONDAY, TUESDAY
private final String name;
public final String name() {
return name;
}
// 枚舉的序號,按順序從0開始
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枚舉類型的原理,希望對大家有所幫助。更多關于“Java培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓經驗,課程大綱更科學更專業,有針對零基礎的就業班,有針對想提升技術的好程序員班,高品質課程助力你實現java程序員夢想。