Java EumとStringおよびintの相互変換例


一、性別の列挙を定義する
エニュメレート・リストとは、並べられた単一エンティティにパッケージされた項目リストのことです。列挙を使用してプログラムの可読性を高め、結合性を低下させる。

/**
 *     
 */
public enum Gender {
  male(" "),female(" ");
 
  private String name;
 
  private Gender(String name) {
    this.name = name;
  }
 
  public String getName() {
    return name;
  }
}
二、列挙の基本的な方法
maleの列挙の定数:

public class MyMain {
  public static void main(String[] args) {
    Gender gender = Gender.male;
    System.out.println(gender.toString()); //Gender.male       
    System.out.println(gender.getName());//Gender.male name 
    System.out.println(gender.ordinal());//Gender.male       
  }
}
結果:

三、EnumとStringの転化

String maleString = Gender.male.toString(); //Gender   String
Gender maleGender = Gender.valueOf("male"); //String   Gender,male  Gender       
四、Enumとintの転化

int maleInt = Gender.male.ordinal(); 
//Enum   int,         
JAVA Eum指定値の適用(データからEnumに変換)

enum ACTION{
 ac_Entry(10),ac_View(2),ac_Approve(5);
 private int _val;
 private static final Map<Integer,ACTION> keyMap=new HashMap<Integer,ACTION>();
 static{
  for (ACTION item:ACTION.values()){
  keyMap.put(item._val,item);
  }
 }
 public int getVal(){
  return _val;
 }
 ACTION(int val){
  _val=val;
 }
 public static ACTION fromVal(int pvnVal){
  return keyMap.get(pvnVal);
 }
 }
@Test
 public void testEnum(){
 ACTION e=ACTION.ac_View;
 System.out.println(e+","+e.ordinal()+","+e.getVal());
 e=ACTION.fromVal(5);
 System.out.println(e+","+e.ordinal()+","+e.getVal());
 }
原理とは、一つのmapでvalue->enumの転換を行うことです。
ac_View,1,2
ac_アプリ、2、5
ここでJava EnumとString及びintの相互転化例に関する記事を紹介します。Java EumとString及びint相互転化内容については、以前の文章を検索したり、下記の関連記事を引き続き閲覧したりしてください。これからもよろしくお願いします。