您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)枚舉如何在java項(xiàng)目中使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
一、枚舉類型作為常量
package myenum; /** * @author zzl * 簡單的枚舉作為常量 */ public enum Color { GREEN,RED,YELLOW; public static void main(String[] args) { for (Color c : values()) { System.out.println("color:"+c); } } } //輸出 /** color:GREEN color:RED color:YELLOW */
其實(shí)在更近一步的話我們可以輸出每個(gè)枚舉實(shí)例的具體位置
package myenum; /** * @author zzl * 簡單的枚舉作為常量 */ public enum Color { GREEN,RED,YELLOW; public static void main(String[] args) { for (Color c : values()) { System.out.println(c + " position "+c.ordinal()); } } } //輸出結(jié)果 /** GREEN position 0 RED position 1 YELLOW position 2 */
二、與swith結(jié)合使用
public enum Color { GREEN,RED,YELLOW; public static void main(String[] args) { Color c = RED; switch (c) { case RED: System.out.println("紅色"); break; case GREEN: System.out.println("綠色"); break; case YELLOW: System.out.println("黃色"); break; default: break; } } } //輸出 /** 紅色 */
從上面的例子可以看出枚舉的多態(tài)性,其實(shí)可以講Color作為枚舉的超類,其中的實(shí)例在運(yùn)行時(shí)表現(xiàn)出多態(tài)。(如上面的輸出結(jié)果為紅色,下面的例子來驗(yàn)證這一特性。)
三、多態(tài)性(在Color中添加抽象方法)
public enum Color { GREEN{ void description(){ System.out.println("綠燈行!"); } },RED{ void description(){ System.out.println("紅燈停!"); } },YELLOW{ void description(){ System.out.println("黃燈亮了等一等!"); } };//如果枚舉中有方法則左后一個(gè)實(shí)例以“;”結(jié)束 abstract void description(); public static void main(String[] args) { for (Color c : values()) { c.description(); } } } <pre name="code" class="java">//輸出 /** 綠燈行! 紅燈停! 黃燈亮了等一等! */
四、利用構(gòu)造器為實(shí)例添加描述
public enum ColoStructure { GREEN("綠色"),RED("紅色"),YELLOW("黃色");//如果枚舉中有方法則左后一個(gè)實(shí)例以“;”結(jié)束 public String description; private ColoStructure(String des){ this.description = des; } public static void main(String[] args) { for (ColoStructure c : values()) { System.out.println(c.description); } } } <pre name="code" class="java"><pre name="code" class="java">//輸出 /** 綠色 紅色 黃色 */
看完上述內(nèi)容,你們對枚舉如何在java項(xiàng)目中使用有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。