モジュール java.base
パッケージ java.lang

クラスEnum<E extends Enum<E>>

  • 型パラメータ:
    E - 列挙型のサブクラス
    すべての実装されたインタフェース:
    Serializable, Comparable<E>

    public abstract class Enum<E extends Enum<E>>
    extends Object
    implements Comparable<E>, Serializable
    すべてのJava言語列挙型の共通の基底クラスです。 コンパイラによって合成される暗黙宣言メソッドの説明など、列挙の詳細については、『Java™言語仕様』のセクション8.9を参照してください。

    列挙型をセットの型やマップ内のキーの型として使用する場合は、特殊化された効率的なセット実装やマップ実装を使用できます。

    導入されたバージョン:
    1.5
    関連項目:
    Class.getEnumConstants(), EnumSet, EnumMap, 直列化された形式
    • コンストラクタのサマリー

      コンストラクタ 
      修飾子 コンストラクタ 説明
      protected Enum​(String name, int ordinal)
      唯一のコンストラクタです。
    • メソッドのサマリー

      すべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      protected Object clone()
      CloneNotSupportedExceptionをスローします。
      int compareTo​(E o)
      このenumと指定されたオブジェクトの順序を比較します。
      boolean equals​(Object other)
      指定されたオブジェクトがこのenum定数と同じ場合は、trueを返します。
      protected void finalize()
      enumクラスはfinalizeメソッドを持つことはできません。
      Class<E> getDeclaringClass()
      このenum定数のenum型に対応するClassオブジェクトを返します。
      int hashCode()
      このenum定数のハッシュ・コードを返します。
      String name()
      enum宣言で宣言されているとおりのenum定数の名前を返します。
      int ordinal()
      列挙定数の序数(列挙宣言での位置。初期定数はゼロの序数に割り当てられる)を返します。
      String toString()
      宣言に含まれるとおりのenum定数の名前を返します。
      static <T extends Enum<T>>
      T
      valueOf​(Class<T> enumType, String name)
      指定された名前を持つ指定されたenum型のenum定数を返します。
    • コンストラクタの詳細

      • Enum

        protected Enum​(String name,
                       int ordinal)
        唯一のコンストラクタです。 プログラマは、このコンストラクタを呼び出すことはできません。 このコンストラクタは、enum型宣言に対する応答で、コンパイラにより生成されるコードで使用するためのものです。
        パラメータ:
        name - - このenum定数の名前。enumを宣言するために使われる識別子。
        ordinal - - 列挙定数の序数(enum宣言での位置。初期定数はゼロの序数に割り当てられる)。
    • メソッドの詳細

      • name

        public final String name()
        enum宣言で宣言されているとおりのenum定数の名前を返します。 ほとんどのプログラマは、このメソッドよりもtoString()メソッドを使用するようにしてください。これは、toStringメソッドの方がユーザーフレンドリな名前を返すことができるからです。 このメソッドは、リリース間で変わることがないname値自体の取得に依存するような特殊な状況で主に使用するために設計されています。
        戻り値:
        このenum定数の名前
      • ordinal

        public final int ordinal()
        列挙定数の序数(列挙宣言での位置。初期定数はゼロの序数に割り当てられる)を返します。 このメソッドは、ほとんどのプログラマにとって役に立ちません。 EnumSetEnumMapなどの高度なenumベースのデータ構造で使用するために設計されています。
        戻り値:
        この列挙定数の序数
      • toString

        public String toString()
        宣言に含まれるとおりのenum定数の名前を返します。 このメソッドは不要な場合や不適切な場合にオーバーライドできます。 より「プログラマフレンドリ」な文字列形式が存在する場合、enum型はこのメソッドをオーバーライドする必要があります。
        オーバーライド:
        toString 、クラス:  Object
        戻り値:
        このenum定数の名前
      • equals

        public final boolean equals​(Object other)
        指定されたオブジェクトがこのenum定数と同じ場合は、trueを返します。
        オーバーライド:
        equals 、クラス:  Object
        パラメータ:
        other - このオブジェクトと等しいかどうかを比較するオブジェクト。
        戻り値:
        指定されたオブジェクトがこのenum定数と同じ場合はtrue
        関連項目:
        Object.hashCode()HashMap
      • clone

        protected final Object clone()
                              throws CloneNotSupportedException
        CloneNotSupportedExceptionをスローします。 これにより、「単体」ステータスを維持する必要があるenumが複製されないことが保証されます。
        オーバーライド:
        clone、クラス: Object
        戻り値:
        (返さない)
        例外:
        CloneNotSupportedException - オブジェクトのクラスがCloneableインタフェースをサポートしていない場合。 cloneメソッドをオーバーライドしたサブクラスも、インスタンスを複製できないことを示すためにこの例外をスローすることがある。
        関連項目:
        Cloneable
      • compareTo

        public final int compareTo​(E o)
        このenumと指定されたオブジェクトの順序を比較します。 このオブジェクトが指定されたオブジェクトより小さい場合は負の整数、等しい場合はゼロ、大きい場合は正の整数を返します。 enum定数は、同じenum型のほかのenum定数だけと比較できます。 このメソッドにより実装される自然の順番は、定数が宣言された順番です。
        定義:
        compareTo、インタフェース: Comparable<E extends Enum<E>>
        パラメータ:
        o -比較対象のオブジェクト。
        戻り値:
        このオブジェクトが指定されたオブジェクトより小さい場合は負の整数、等しい場合はゼロ、大きい場合は正の整数
      • getDeclaringClass

        public final Class<E> getDeclaringClass()
        このenum定数のenum型に対応するClassオブジェクトを返します。 e1.getDeclaringClass()== e2.getDeclaringClass()の場合だけ、2つのenum定数e1とe2は同じenum型のenum定数です。 このメソッドにより返される値は、定数固有のクラス本文を持つenum定数についてObject.getClass()メソッドで返される値とは異なる可能性があります。
        戻り値:
        このenum定数のenum型に対応するClassオブジェクト
      • valueOf

        public static <T extends Enum<T>> T valueOf​(Class<T> enumType,
                                                    String name)
        指定された名前を持つ指定されたenum型のenum定数を返します。 この名前は、この型でenum定数を宣言するのに使用される識別子に一致しなければいけません。 不適切な空白文字は許可されません。

        特定の列挙型Tについて、その列挙上の暗黙的に宣言されたpublic static T valueOf(String)メソッドをこのメソッドの代わりに使用すれば、名前から対応する列挙定数へのマッピングを行うことができます。 列挙型のすべての定数を取得するには、その型の暗黙的なpublic static T[] values()メソッドを呼び出します。

        型パラメータ:
        T - 返す定数を含んでいる列挙型
        パラメータ:
        enumType - 定数が返されるenum型のClassオブジェクト
        name - 返される定数の名前
        戻り値:
        指定された名前を持つ指定されたenum型のenum定数
        例外:
        IllegalArgumentException - 指定されたenum型が指定された名前の定数を持たない場合、または指定されたクラス・オブジェクトがenum型を表さない場合
        NullPointerException - enumTypeまたはnameがnullの場合
        導入されたバージョン:
        1.5
      • finalize

        protected final void finalize()
        enumクラスはfinalizeメソッドを持つことはできません。
        オーバーライド:
        finalize、クラス: Object
        関連項目:
        WeakReference, PhantomReference