「Java11」列挙(enum)型の定数にキーと値を設定するサンプル
環境
JavaSE-11
Eclipse 2019
関数
アクセス修飾子 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)
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)
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