Java 列挙型(enum型)のサンプル

Javaの列挙型のサンプルです。

目次

列挙型(enum型)

enum  名前 {
 値1,
 値2,
 ・・・
}

以下は、列挙型の定義と列挙型にアクセスするクラスのコードです。

コード

列挙型を定義しています。
3行目にenumがあります。
4行目からの定数はカンマ区切りで記述します。
6行目のように定義の最後にカンマが付いていても問題ありません。

package test1;

public enum Colors {
    RED,
    YELLOW,
    BLUE,
}

上記の列挙型にアクセスするコード

上記の列挙型にアクセスするコードです。
8,10,12行目は、if文で列挙型の値を判定しています。
16行目は、valuesメソッドですべての列挙型の定数を取得しています。
17行目は、toStringメソッドで列挙型の名前を取得しています。
18行目は、ordinalメソッドで列挙型の位置を取得しています。位置は0から始まります。

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   
    }
}

 

列挙型の定数に独自の値を設定するサンプル

以下は、列挙型の定数に独自の値を設定する定義と列挙型にアクセスするクラスのコードです。

コード

列挙型の定数に独自の値を設定する定義です。
4-6行目の10,11,12が独自の値です。それぞれ10行目のコンストラクタを呼んでいます。
10行目は、列挙型のコンストラクタです。値を設定しています。

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;
    }
}

上記の列挙型にアクセスするコード

上記の列挙型にアクセスするコードです。
6-8行目は列挙型に設定した値を取得しています。

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
    }
}

関連の記事

Java if文のサンプル
Java for文とbreakとcontinueのサンプル
Java switch文のサンプル
Java while文とdo...while文のサンプル
Java 変数のデータ型とラッパークラス
Java static初期化ブロックと初期化ブロックのサンプル
Java staticインポートのサンプル
Java final修飾子のサンプル
Java 標準アノテーションのサンプル
Java 可変長引数のメソッドのサンプル

プログラムでつまったらteratailに登録して質問しましょう!↓↓↓

△上に戻る