如何实现Java中Enum与String及int之间的相互转换示例?

2026-05-24 06:071阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计444个文字,预计阅读时间需要2分钟。

如何实现Java中Enum与String及int之间的相互转换示例?

一、定义性别枚举(enum)表示,是指定义一个经过排序、被打包成一个单一实体的项目列表。使用枚举可以增加程序的可读性、降低耦合性。 性别枚举(Gender):javapublic enum Gender { male(男), female(女);

private final String description;

Gender(String description) { this.description=description; }

public String getDescription() { return description; }}

一、定义性别枚举

枚举(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的转化

如何实现Java中Enum与String及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 Enum和String及int的相互转化示例的文章就介绍到这了,更多相关Java Enum和String及int相互转化内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

标签:相互

本文共计444个文字,预计阅读时间需要2分钟。

如何实现Java中Enum与String及int之间的相互转换示例?

一、定义性别枚举(enum)表示,是指定义一个经过排序、被打包成一个单一实体的项目列表。使用枚举可以增加程序的可读性、降低耦合性。 性别枚举(Gender):javapublic enum Gender { male(男), female(女);

private final String description;

Gender(String description) { this.description=description; }

public String getDescription() { return description; }}

一、定义性别枚举

枚举(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的转化

如何实现Java中Enum与String及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 Enum和String及int的相互转化示例的文章就介绍到这了,更多相关Java Enum和String及int相互转化内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

标签:相互