JavaTM 2 Platform
Standard Ed. 5.0

java.lang
クラス Enum<E extends Enum<E>>

java.lang.Object
  上位を拡張 java.lang.Enum<E>
すべての実装されたインタフェース:
Serializable, Comparable<E>

public abstract class Enum<E extends Enum<E>>
extends Object
implements Comparable<E>, Serializable

すべての Java 言語列挙型の共通の基底クラスです。

導入されたバージョン:
1.5
関連項目:
直列化された形式

コンストラクタの概要
protected Enum(String name, int ordinal)
          唯一のコンストラクタです。
 
メソッドの概要
protected  Object clone()
          CloneNotSupportedException をスローします。
 int compareTo(E o)
          この enum と指定されたオブジェクトの順序を比較します。
 boolean equals(Object other)
          指定されたオブジェクトがこの enum 定数と同じ場合は true
 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 から継承されたメソッド
finalize, 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 メソッドの方がユーザフレンドリな名前を返すことができるからです。このメソッドは、解放から解放までに変わることがない正確な名前を取得することで正確性が決まるような、特殊な状況で主に使用するために設計されています。

戻り値:
この enum 定数の名前

ordinal

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

戻り値:
この列挙定数の序数

toString

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

オーバーライド:
クラス Object 内の toString
戻り値:
この enum 定数の名前

equals

public final boolean equals(Object other)
指定されたオブジェクトがこの enum 定数と同じ場合は true

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

hashCode

public final int hashCode()
この enum 定数のハッシュコードを返します。

オーバーライド:
クラス Object 内の hashCode
戻り値:
この enum 定数のハッシュコード
関連項目:
Object.equals(java.lang.Object), Hashtable

clone

protected final Object clone()
                      throws CloneNotSupportedException
CloneNotSupportedException をスローします。これにより、「単体」ステータスを維持する必要がある enum が複製されないことが保証されます。

オーバーライド:
クラス Object 内の clone
戻り値:
(返さない)
例外:
CloneNotSupportedException - オブジェクトのクラスが Cloneable インタフェースをサポートしていない場合。clone メソッドをオーバーライドしたサブクラスも、インスタンスを複製できないことを示すためにこの例外をスローすることがある
関連項目:
Cloneable

compareTo

public final int compareTo(E o)
この enum と指定されたオブジェクトの順序を比較します。このオブジェクトが指定されたオブジェクトより小さい場合は負の整数、等しい場合はゼロ、大きい場合は正の整数を返します。enum 定数は、同じ enum 型のほかの enum 定数だけと比較できます。このメソッドにより実装される自然の順番は、定数が宣言された順番です。

定義:
インタフェース Comparable<E extends Enum<E>> 内の compareTo
パラメータ:
o - 比較対象の Object
戻り値:
このオブジェクトが指定されたオブジェクトより小さい場合は負の整数、等しい場合はゼロ、大きい場合は正の整数

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 定数を宣言するのに使用される識別子に一致しなければなりません。不適切な空白文字は許可されません。

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

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。