「Java11」列挙(enum)型の定数にキーと値を設定するサンプル

環境
JavaSE-11
Eclipse 2019

関数

アクセス修飾子 enum 名前 {
 定数1(値1、キー1),
  定数1(値2、キー2),
...
}

Enumクラスを暗黙的に継承しています。
Enumクラスをの定数はカンマ区切りで記述します。
列挙型をセットの型やマップ内のキーの型として使用する場合は、
特殊化された効率的なセット実装やマップ実装を使用できます。
名前.定数やvalueOfメソッドで値にアクセスできます。
列挙型の定数に独自の値を設定できます。

使用例
1.Enum(列挙型)の定義(InfoCode.java)

package com.arkgame.study;

//列挙型InfoCodeの定義
public enum InfoCode {
      // 列挙型の定数の定義
      DE(1001, "Tokyo"), 
      CR(2002, "Oosaka"), 
      ;

      /** valの宣言 */
      private int val;

      /** keyの宣言*/
      private String key;

      /*コンストラクタの定義*/
      private InfoCode(int val, String key) {
            this.val = val;
            this.key = key;
      }
      // return val
      public int val() {
            return this.val;
      }
      // return key
      public String key() {
            return this.key;
      }
}

2.列挙型の定数を指定する(Testdemo.java)

package com.arkgame.study;

public class Testdemo {

      public static void main(String[] args) {

            System.out.println("Enum(列挙型)の値");

            String strB = String.valueOf(InfoCode.CR.val());
            System.out.println("列挙型の定数CR: " + strB);

            String strC = String.valueOf(InfoCode.DE.val());
            System.out.println("列挙型の定数DE: " + strC);
      }

}

「Enum型名.定数名.val()」を使って、列挙型(enum)の定数の値を取得します。

3.実行結果
Enum(列挙型)の値
列挙型の定数CR: 2002
列挙型の定数DE: 1001

Java

Posted by arkgame