Javaの列挙型のサンプルです。
目次
列挙型(enum型)
| アクセス修飾子 enum 名前 { 定数1, 定数2, ・・・ } |
- 複数の定数を持つことができます。
- Enumクラスを暗黙的に継承しています。→Enumクラスのメソッドを使えます。
- 以下はJava8 API仕様のEnumクラスのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/Enum.html
コード
列挙型のサンプルです。
package test1;
public enum Colors {
RED,
YELLOW,
BLUE,
}
3行目にenumがあります。
4行目からの定数はカンマ区切りで記述します。
6行目のように定義の最後にカンマが付いていても問題ありません。
上記の列挙型にアクセスするコード
上記の列挙型にアクセスするコードです。
package test1;
public class Test1 {
public static void main(String[] args) {
Colors c = Colors.BLUE;
if(c == Colors.RED) {
System.out.println("赤です");
}else if(c == Colors.YELLOW) {
System.out.println("黄です");
}else if (c == Colors.BLUE){
System.out.println("青です"); //青です
}
for (Colors t : Colors.values()) {
System.out.println(t.toString()); // RED YELLOW BLUE
System.out.println(t.ordinal()); // 0 1 2
}
System.out.println(Colors.RED); // RED
System.out.println(Colors.YELLOW); // YELLOW
System.out.println(Colors.BLUE); // BLUE
}
}
8,10,12行目は、if文で列挙型の値を判定しています。
16行目は、valuesメソッドですべての列挙型の定数を取得しています。
17行目は、toStringメソッドで列挙型の名前を取得しています。
18行目は、ordinalメソッドで列挙型の位置を取得しています。位置は0から始まります。
列挙型の定数に独自の値を設定するサンプル
以下は、列挙型の定数に独自の値を設定する定義と列挙型にアクセスするクラスのコードです。
コード
列挙型の定数に独自の値を設定するサンプルです。
package test1;
public enum Colors {
RED(10),
YELLOW(11),
BLUE(12);
private int num1;
private Colors(int num){
this.num1 = num;
}
public int getNum1(){
return num1;
}
}
4~6行目の10,11,12が独自の値です。それぞれ10行目のコンストラクタを呼んでいます。
10行目は、列挙型のコンストラクタです。値を設定しています。
上記の列挙型にアクセスするコード
上記の列挙型にアクセスするサンプルです。
package test1;
public class Test1 {
public static void main(String[] args) {
System.out.println(Colors.RED.getNum1()); // 10
System.out.println(Colors.YELLOW.getNum1()); // 11
System.out.println(Colors.BLUE.getNum1()); // 12
System.out.println(Colors.RED); // RED
System.out.println(Colors.YELLOW); // YELLOW
System.out.println(Colors.BLUE); // BLUE
}
}
6~8行目は列挙型に設定した値を取得しています。
関連の記事
Java if文のサンプル
Java for文とbreakとcontinueのサンプル
Java switch文のサンプル
Java while文とdo...while文のサンプル