av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

Java enum 枚舉還可以這么用

瀏覽:2日期:2022-09-06 14:16:49

在大部分編程語言中,枚舉類型都會是一種常用而又必不可少的數據類型,Java中當然也不會例外。然而,Java中的Enum枚舉類型卻有著許多你意想不到的用法,下面讓我們一起來看看。

Java enum 枚舉還可以這么用

 1、可以在enum中添加變量和方法

先來看一段代碼示例:

public enum State {Normal("正常態", 1), Update("已更新", 2), Deleted("已刪除", 3), Fired("已屏蔽", 4);// 成員變量private String name;private int index;// 構造方法,注意:構造方法不能為public,因為enum并不可以被實例化private State(String name, int index) { this.name = name; this.index = index;}// 普通方法public static String getName(int index) { for (State c : State .values()) {if (c.getIndex() == index) { return c.name;} } return null;}// get set 方法public String getName() { return name;}public void setName(String name) { this.name = name;}public int getIndex() { return index;}public void setIndex(int index) { this.index = index;} }

從上面的代碼中我們可以看到,定義完枚舉值,然后在其后面加上分號,接著就可以定義其他的變量、方法了。另外需要特別說明的是,enum中的構造方法不可以用public標識,這樣做是為了防止用戶實例化enum。

 2、可以用來定義常量

先來回顧一下Java中如何定義常量吧,看下面一段代碼:

public static final int normalState = 1;private static final int updateState = 2;

下面我們還可以用enum枚舉來代替上面的常量定義,代碼如下:

public enum State { Normal, Update, Deleted, Fired}

在Java中用enum來定義常量在語法上沒有什么優勢,但是enum枚舉類型可以提供更多的操作功能。

 3、在enum中實現接口

先來看下面一段代碼:

public interface ICanReadState {void read();String getState();} public enum State implements ICanReadState {Normal("正常態", 1), Update("已更新", 2), Deleted("已刪除", 3), Fired("已屏蔽", 4);private String name;private int index;private State(String name, int index) { this.name = name; this.index = index;}// 接口方法1@Overridepublic String getState() { return this.name;}// 接口方法2@Overridepublic void read() { System.out.println(this.index + ":" + this.name);} }

和一般的類中使用接口一樣,enum枚舉中同樣可以繼承接口,并實現接口中的所有方法,這樣做的好處在于可以更方便地對枚舉中的值進行排序、比較等操作,封裝性更好。

 總結

說白了,enum枚舉類型是一個不可以被繼承的final類,就以上面的State枚舉為例,如果你查看enum類型的字節碼,其實是State類型的類靜態常量。

via:ceocode – 小峰

標簽: Java
相關文章:
主站蜘蛛池模板: 色爱天堂 | 国产精品人人做人人爽人人添 | 日韩免费精品 | 国产伦精品一区二区三区视频网站 | 亚洲一级二级三级 | 人人看人人干 | 91成人免费 | 激情久久综合 | 中文在线字幕免费观 | 日韩一区三区 | 国产福利在线播放 | 欧美视频在线观看 | 午夜免费av | 蜜桃av一区二区三区 | 日韩精品在线一区 | 精品成人av | 四级黄色片 | 日韩欧美一区二区在线观看 | 午夜免费观看视频 | 久久久久久久av | 天天操天天操 | 国产欧美日本 | 欧美一区二区免费 | 特级黄色片 | 人人草人人 | 又色又爽又黄gif动态图 | 视频在线一区二区 | 日韩欧美激情 | 他揉捏她两乳不停呻吟动态图 | 成人一区二区三区 | 一区二区视频在线 | av网站观看 | 午夜激情小视频 | 国产a区 | 98久久 | 国产一级特黄aaa大片 | 麻豆做爰免费观看 | 日韩在线精品视频 | 色婷婷国产| 成人不卡 | 深夜福利在线播放 |