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

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

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

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

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

Java言語仕様を参照してください:
8.9 列挙タイプ
「8.9.3列挙メンバー」
導入されたバージョン:
1.5
関連項目:
Class.getEnumConstants(), EnumSet, EnumMap
  • ネストされたクラスのサマリー

    ネストされたクラス 
    修飾子と型 クラス 説明
    static class  Enum.EnumDesc<E extends Enum<E>>
    enum定数の場合、「名目記述子」
  • コンストラクタのサマリー

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

    修飾子と型 メソッド 説明
    protected Object clone()
    CloneNotSupportedExceptionをスローします。
    int compareTo​(E o)
    このenumと指定されたオブジェクトの順序を比較します。
    Optional<Enum.EnumDesc<E>> describeConstable()
    このインスタンスの列挙型記述子EnumDescを返します(作成可能な場合)。作成できない場合は空のOptionalを返します。
    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定数を返します。

    クラス java.lang.Objectで宣言されたメソッド

    getClassnotifynotifyAllwaitwaitwait
  • コンストラクタの詳細

    • 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
    • hashCode

      public final int hashCode()
      このenum定数のハッシュ・コードを返します。
      オーバーライド:
      hashCode 、クラス:  Object
      戻り値:
      このenum定数のハッシュ・コード
      関連項目:
      Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
    • 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オブジェクト
    • describeConstable

      public final Optional<Enum.EnumDesc<E>> describeConstable()
      このインスタンスの列挙型記述子EnumDescを返します(作成可能な場合)。作成できない場合は空のOptionalを返します。
      定義:
      インタフェースConstable内のdescribeConstable
      戻り値:
      最終的な名目記述子を含むOptional、または作成できない場合は空のOptional
      導入されたバージョン:
      12
    • 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