Java Enum和String及int的相互轉(zhuǎn)化示例
一、定義性別枚舉
枚舉(enum),是指一個經(jīng)過排序的、被打包成一個單一實體的項列表。使用枚舉增加程序可讀性、降低耦合性。
/** * 性別枚舉 */ 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枚舉常量的序數(shù) } }
結(jié)果:
三、Enum與String的轉(zhuǎn)化
String maleString = Gender.male.toString(); //Gender轉(zhuǎn)化為String Gender maleGender = Gender.valueOf("male"); //String轉(zhuǎn)化為Gender,male對應(yīng)Gender枚舉的常量名稱
四、Enum與int的轉(zhuǎn)化
int maleInt = Gender.male.ordinal(); //Enum轉(zhuǎn)化為int,返回枚舉常量的序數(shù)
JAVA Enum指定值的應(yīng)用(從數(shù)據(jù)轉(zhuǎn)換為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來進(jìn)行value->enum的轉(zhuǎn)換.
ac_View,1,2
ac_Approve,2,5
到此這篇關(guān)于Java Enum和String及int的相互轉(zhuǎn)化示例的文章就介紹到這了,更多相關(guān)Java Enum和String及int相互轉(zhuǎn)化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot對接第三方微信授權(quán)及獲取用戶的頭像和昵稱等等
這篇文章主要介紹了springboot對接第三方微信授權(quán)及獲取用戶的頭像和昵稱等等,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01java實現(xiàn)相同屬性名稱及相似類型的pojo、dto、vo等互轉(zhuǎn)操作
這篇文章主要介紹了java實現(xiàn)相同屬性名稱及相似類型的pojo、dto、vo等互轉(zhuǎn)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08Spring Cloud GateWay 路由轉(zhuǎn)發(fā)規(guī)則介紹詳解
這篇文章主要介紹了Spring Cloud GateWay 路由轉(zhuǎn)發(fā)規(guī)則介紹詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05springboot如何統(tǒng)一設(shè)置時區(qū)
這篇文章主要介紹了springboot如何統(tǒng)一設(shè)置時區(qū)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01SpringBoot原生組件注入實現(xiàn)兩種方式介紹
SpringBoot是Spring全家桶的成員之一,基于約定優(yōu)于配置的思想(即有約定默認(rèn)值,在不配置的情況下會使用默認(rèn)值,在配置文件下配置的話會使用配置的值)。SpringBoot是一種整合Spring技術(shù)棧的方式(或者說是框架),同時也是簡化Spring的一種快速開發(fā)的腳手架2022-10-10