モジュール 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の項を参照してください。 列挙型クラスはすべて直列化可能で、直列化メカニズムによる特別な処理を受け取ります。 列挙定数に使用される直列化された表現はカスタマイズできません。 直列化と相互作用するメソッドとフィールドの宣言は、serialVersionUIDなど無視されます。詳細は、「Javaオブジェクト直列化仕様」を参照してください。

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

Java言語仕様を参照してください:
「8.9 列挙型クラス」
「8.9.3 列挙メンバー」
導入されたバージョン:
1.5
関連項目:
  • ネストされたクラスのサマリー

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

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

    修飾子と型
    メソッド
    説明
    protected final Object
    CloneNotSupportedExceptionをスローします。
    final int
    このenumと指定されたオブジェクトの順序を比較します。
    このインスタンスの列挙型記述子EnumDescを返します(作成可能な場合)。作成できない場合は空のOptionalを返します。
    final boolean
    equals(Object other)
    指定されたオブジェクトがこのenum定数と同じ場合は、trueを返します。
    protected final void
    enumクラスはfinalizeメソッドを持つことはできません。
    final Class<E>
    このenum定数のenum型に対応するClassオブジェクトを返します。
    final int
    このenum定数のハッシュ・コードを返します。
    final String
    enum宣言で宣言されているとおりのenum定数の名前を返します。
    final int
    列挙定数の序数(列挙宣言での位置。初期定数はゼロの序数に割り当てられる)を返します。
    宣言に含まれるとおりのenum定数の名前を返します。
    static <T extends Enum<T>>
    T
    valueOf(Class<T> enumClass, String name)
    指定された名前の指定されたenumクラスのenum定数を返します。

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

    getClass, notify, notifyAll, wait, wait, wait
  • コンストラクタの詳細

    • 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定数の名前を返します。 このメソッドは不要な場合や不適切な場合にオーバーライドできます。 列挙型クラスは、より多くの"programmer-friendly"文字列形式が存在する場合、このメソッドをオーバーライドする必要があります。
      オーバーライド:
      toString 、クラス:  Object
      戻り値:
      このenum定数の名前
    • equals

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

      public final int hashCode()
      このenum定数のハッシュ・コードを返します。
      オーバーライド:
      hashCode 、クラス:  Object
      戻り値:
      このenum定数のハッシュ・コード
      関連項目:
    • clone

      protected final Object clone() throws CloneNotSupportedException
      CloneNotSupportedExceptionをスローします。 これにより、「単体」ステータスを維持する必要があるenumが複製されないことが保証されます。
      オーバーライド:
      clone、クラス: Object
      戻り値:
      (返さない)
      例外:
      CloneNotSupportedException - オブジェクトのクラスがCloneableインタフェースをサポートしていない場合。 cloneメソッドをオーバーライドしたサブクラスも、インスタンスを複製できないことを示すためにこの例外をスローすることがある。
      関連項目:
    • 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> enumClass, String name)
      指定された名前の指定されたenumクラスのenum定数を返します。 名前は、このクラスでenum定数を宣言するために使用される識別子と正確に一致している必要があります。 (不適切な空白文字は許可されません。)

      特定の列挙型クラスTでは、このメソッドのかわりに、その列挙型に対して暗黙的に宣言されたpublic static T valueOf(String)メソッドを使用して、名前から対応する列挙型定数にマップできます。 列挙型クラスのすべての定数は、そのクラスの暗黙的なpublic static T[] values()メソッドをコールすることで取得できます。

      型パラメータ:
      T - 定数が返されるenumクラス
      パラメータ:
      enumClass - 定数を返すenumクラスのClassオブジェクト
      name - 返される定数の名前
      戻り値:
      指定された名前の指定されたenumクラスのenum定数
      例外:
      IllegalArgumentException - 指定されたenumクラスに指定された名前の定数がないか、指定されたclassオブジェクトがenumクラスを表していない場合
      NullPointerException - enumClassまたはnameがnullの場合
      導入されたバージョン:
      1.5
    • finalize

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