Java Enum和String及int的相互轉(zhuǎn)化示例
一、定義性別枚舉
枚舉(enum),是指一個(gè)經(jīng)過排序的、被打包成一個(gè)單一實(shí)體的項(xiàng)列表。使用枚舉增加程序可讀性、降低耦合性。
/** * 性別枚舉 */public enum Gender { male('男'),female('女'); private String name; private Gender(String name) { this.name = name; } public String getName() { return name; }}
二、枚舉的基本方法
對(duì)于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)化為StringGender maleGender = Gender.valueOf('male'); //String轉(zhuǎn)化為Gender,male對(duì)應(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()); }
原理,就是用一個(gè)map來進(jìn)行value->enum的轉(zhuǎn)換.
ac_View,1,2ac_Approve,2,5
到此這篇關(guān)于Java Enum和String及int的相互轉(zhuǎn)化示例的文章就介紹到這了,更多相關(guān)Java Enum和String及int相互轉(zhuǎn)化內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. django queryset相加和篩選教程2. 利用ajax+php實(shí)現(xiàn)商品價(jià)格計(jì)算3. Java實(shí)現(xiàn)的迷宮游戲4. idea設(shè)置提示不區(qū)分大小寫的方法5. JS圖片懶加載庫(kù)VueLazyLoad詳解6. Java利用TCP協(xié)議實(shí)現(xiàn)客戶端與服務(wù)器通信(附通信源碼)7. 使用AJAX(包含正則表達(dá)式)驗(yàn)證用戶登錄的步驟8. Java PreparedStatement用法詳解9. Spring如何集成ibatis項(xiàng)目并實(shí)現(xiàn)dao層基類封裝10. IDEA 2020.1.2 安裝教程附破解教程詳解

網(wǎng)公網(wǎng)安備