Java Enum和String及int的相互转化示例
时间:2021-02-16 10:44:27|栏目:JAVA代码|点击: 次
一、定义性别枚举
枚举(enum),是指一个经过排序的、被打包成一个单一实体的项列表。使用枚举增加程序可读性、降低耦合性。
/**
* 性别枚举
*/
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 Enum指定值的应用(从数据转换为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_Approve,2,5
上一篇:java实现扫雷游戏控制台版
栏 目:JAVA代码
本文标题:Java Enum和String及int的相互转化示例
本文地址:http://www.codeinn.net/misctech/64157.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




