說明
1、Java追加了java.lang.Enum抽象類,是所有的枚舉類型的基礎類別。提供了基本的屬性和基本的方法。同時,支援將枚舉作為Set和Map使用
2、用關鍵字enum建立枚舉類型並進行編譯之後,編譯器就會為我們產生一個相關的類別,它繼承了java.lang .Enum類。
實例
public abstract class Enum<E extends Enum<E>> implements Comparable<E>, 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 extends Enum<T>> T valueOf(Class<T> enumType, 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枚舉類型的原理是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!