前書き
Java enums( enum
キーワードを使用して宣言されています)は、単一クラスの大量の定数の簡略構文です。
構文
- [public / protected / private] enum Enum_name {//新しい列挙型を宣言します。
- ENUM_CONSTANT_1 [、ENUM_CONSTANT_2 ...]; // enum定数を宣言します。これは列挙型の内部の最初の行でなければならず、末尾にセミコロンを付けてカンマで区切る必要があります。
- ENUM_CONSTANT_1(param)[、ENUM_CONSTANT_2(param)...]; //パラメータでenum定数を宣言します。パラメータ型はコンストラクタと一致する必要があります。
- ENUM_CONSTANT_1 {...} [、ENUM_CONSTANT_2 {...} ...]; //オーバーライドされたメソッドで列挙型定数を宣言します。 enumに抽象メソッドが含まれている場合は、これを行う必要があります。そのような方法はすべて実装されなければならない。
- ENUM_CONSTANT.name()// enum定数の名前のStringを返します。
- ENUM_CONSTANT.ordinal()//この列挙定数の序数を返します。その列挙定数の位置は、初期定数にゼロの序数が代入されます。
- Enum_name.values()//呼び出されるたびにその列挙型のすべての定数を含む新しい配列(Enum_name []型)を返します。
- Enum_name.valueOf( "ENUM_CONSTANT")// ENUM_CONSTANT.name()の逆数 - 与えられた名前の列挙定数を返します。
- Enum.valueOf(Enum_name.class、 "ENUM_CONSTANT")//前のものと同義語:ENUM_CONSTANT.name()の逆数 - 与えられた名前の列挙定数を返します。
備考
制限事項
列挙型は常にjava.lang.Enum
を拡張しているため、クラスを拡張する列挙型は不可能です。ただし、多くのインターフェイスを実装できます。
ヒントとコツ
彼らの特殊な表現のために、enumをキーとして使用できるより効率的なマップとセットがあります。これらは、非専門のカウンターパートよりも頻繁に速く実行されます。
列挙型 関連する例