SJC-P 列挙型
ナビゲーションに移動
検索に移動
SJC-P 列挙型
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/language/enums.html
- 独自のクラスとして宣言できる
- public または デフォルト修飾子しか指定できない(9)
- クラスのメンバとして宣言できる(1)
- セミコロンは省略可能(2)
- コンストラクタ(public以外)を定義できる(4)
- メソッドを定義できる(5)
- 内容の列挙には、values()メソッド
- メソッド内部に宣言できない(8)
package enumerate; public class EnumTest1 { enum ENUM_NUM { ONE, TWO, THREE }; // クラスのメンバとして宣言できる(1) enum ENUM_WEEK { SUN, MON, TUE } // セミコロンは省略可能(2) enum ENUM_SIZE { BIG(10), MIDIUM(5), SMALL(1), UNKNOWN(0) { public String toString() { // 要素独自のメソッドをオーバーライドできる(3) return "UNKNOWN"; } } ; private int size; ENUM_SIZE(int size) { // コンストラクタ(public以外)を定義できる(4) this.size = size; } public int getSize() { // メソッドを定義できる(5) return this.size; } public String toString() { return String.valueOf(this.size); } } public static void main(String[] args) { System.out.println(ENUM_SIZE.BIG); System.out.println(ENUM_SIZE.UNKNOWN); // switch 文にて利用できる(6) ENUM_WEEK color = ENUM_WEEK.TUE; switch(color) { case SUN: System.out.println("日"); break; case MON: System.out.println("月"); break; case TUE: System.out.println("火"); break; default: System.out.println("not match."); } // 内容の列挙には、values()メソッド(7) ENUM_NUM[] nums = ENUM_NUM.values(); for (ENUM_NUM num : nums) { System.out.println(num); } } public void testEnum() { // メソッド内部に宣言できない(8) // enum ENUM_ALPAH { A, B, C}; } } // public または デフォルト修飾子しか指定できない(9) /* public */ enum ENUM_COLOR { RED, GREEN, BLUE }
© 2006 矢木浩人