在编程中,常常遇到多种类型、多种状态的情况,对于这种可以事先预知的业务我们常常有两种表示方法:
对于Java枚举类型的使用,我们可以总结为以下几个方面:整型值,字符串字段和字符串的相关描述,下面我们就讨论如何方便的在这几个类型中相关转换,对于所有的类型转换可以总结如下:
1 2 3 4 5 6 7
| int --> Enum Enum--> int String -->Enum Enum-->String Enum-->描述 int -->描述 String -->描述
|
下面我们对于上面的7种描述来做出对应的转换方法,首先定义一个枚举类型:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| public enum EnumDemo { fail, success, unknow; } ```
为了能够保证相关的value和值能够保存下来,我们需要对枚举类型改成如下:
```Java public enum EnumDemo { fail(0, "失败"), success(1, "成功"), unknow(2, "未知");
private int value; private String name;
EnumDemo(int value, String name) { this.value = value; this.name = name; } public int getValue() { return this.value; } public String getName() { return this.name; } } ```
相关代码如下:
```Java @Test public void TestEnum(){ int val=1; EnumDemo intEnum=EnumDemo.values()[val]; String enumStr= intEnum.toString(); String enumAnno=intEnum.getName();
System.out.println(enumStr); System.out.println(enumAnno);
String str="success"; EnumDemo strEnum=EnumDemo.values()[val]; int enumVal=strEnum.getValue(); String enumValAnno=strEnum.getName();
System.out.println(enumVal); System.out.println(enumValAnno); }
|
运行结果如下: