2,382 バイト追加
、 2020年2月15日 (土) 07:35
==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
}