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

環境
JavaSE-11
Eclipse 2019

関数

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
アクセス修飾子 enum 名前 {
 定数1(1、キー1),
定数1(2、キー2),
...
}
アクセス修飾子 enum 名前 {  定数1(値1、キー1), 定数1(値2、キー2), ... }
アクセス修飾子 enum 名前 {
 定数1(値1、キー1),
  定数1(値2、キー2),
...
}

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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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;
}
}
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; } }
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)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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);
}
}
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); } }
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