説明
1. Java は、すべての列挙型の基本クラスである java.lang.Enum 抽象クラスを追加しました。基本的なプロパティと基本的なメソッドを提供します。同時に、セットおよびマップとして列挙型の使用をサポートします
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 中国語 Web サイトの他の関連記事を参照してください。