Java 使用枚举类的实例
生活随笔
收集整理的這篇文章主要介紹了
Java 使用枚举类的实例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
枚舉類相信不陌生,但實際開發中或者接手之前的代碼,發現大部分還是使用常量Constant來替代,其實枚舉類擁有更多的優點。
這里我們只講一個開發中實際用到的例子,現在有如下的一個場景:
假設現在有一個實體類User,有一個屬性status,如果status為0表示正常,status為1表示無效,而我們在數據庫中存儲是數值,但前端客戶所看見的應該是字符串,如何來建立起這么一個關系?這里就可以用到枚舉類,代碼如下:
?
public class User implements Serializable {private static final long serialVersionUID = 5550303936960514419L;/** id */private Integer id; //set,get方法省略/** 標題 */private String userName;//set,get方法省略/** 狀態 */private String status;//set,get方法省略public static enum statusEnum{STATUS_ZHENCHANG (0, "正常"),STATUS_WUXIAO (1, "無效");private final int type;private final String desc;statusEnum(int type, String desc) {this.type = type;this.desc = desc;}public int getType () {return type;}public String getDesc () {return desc;}public static String getDesc (int index) {for (statusEnumc : statusEnum.values ()) {if (c.getType () == index) {return c.desc;}}return null;}}}我們自己在User內部定義一個status的枚舉類,來描述其狀態值和說明,這里可以很直觀的它們的關系,關于枚舉類的基本用法可以自行了解。
接著,我們從數據庫中查出了User,將status屬性通過相應的映射為字符串描述,如下:
User u = new User();u.setStatus(User.statusEnum.getDesc(u.getStatus()); //status,0:正常 1:無效System.out.println(u.getStatus());//輸出為正常這樣就通過枚舉類型,可以自定義的,并且很優美的進行開發工作,值得注意的是如上面的getDesc是我們自己寫的,枚舉類自己提供了一些操作本身元素的方法,如statusEnum.values就是返回所有的元素。
如有錯誤,歡迎大家指正。
?
轉載于:https://my.oschina.net/u/3497902/blog/2236754
總結
以上是生活随笔為你收集整理的Java 使用枚举类的实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jquery4
- 下一篇: rabbitmq 3.7.0+erlan