java 列舉的實際應用

2021-08-29 13:25:51 字數 1918 閱讀 1980

列舉的出現是用來代替有限元素的陣列,陣列一點不好的是,它的元素一旦被存放進去就「不可見」了,這對於程式設計師來說是一件痛苦的事,而列舉的意義在於有限的元素個數,而且是「可預見」的,這一點非常重要,它再軟體開發中的一點價值就是,可以規避使用者的「不友好」的試探操作產生的異常。例如,現在有乙個需求:的字尾由使用者動態輸入,這是一件很危險的事情,因為你無法預料到使用者會輸入什麼稀奇古怪的字元。我們可以使用列舉「限制」使用者的操作,這就像前段中的下拉選擇框一樣,在有限的下拉列表中進行選取。**如下所示。

package com.yx.yzh.enums;

public enum qrcodepicturetypeenum

1、我們可以將其應用到相應的方法中:

//獲取匯出檔案物件

file exportfile = new file(exportfilepath+"\\"+exportfilename+"."+qrcodepicturetypeenum.tostring().tolowercase());

trycatch (exception e)

return null;

}這樣一來,使用者就只能在qrcodepicturetypeenum qrcodepicturetypeenum這個位置輸入列舉中的元素了,可以規避一些使用者非法操作,值得注意的是,使用列舉.元素返回的是列舉引用型別,通過列舉引用.tostring()可以獲得列舉元素的字元形式,這是兩個很有用的技巧。

2、列舉項與構造器

package com.yx.yzh.webtest;

public enum mygender

public int getvalue()

public string getname() }

/**system.out.println(mygender.man.getname());

output:男*/

3、列舉項可以是方法

package com.yx.yzh.webtest;

public enum myorderstate },

/** 待審核 */

waitconfirm },

/** 等待付款 */

waitpayment },

/** 正在配貨 */

admeasureproduct },

/** 等待發貨 */

waitdeliver },

/** 已發貨 */

delivered },

/** 已收貨 */

received };

public abstract string getname();

}

/**

system.out.println(myorderstate.cancel.getname());

output:

已取消*/

java列舉類的應用

應用場景1 假設將學習成績分為a b c d四個等級,這只是類別很少的一種情況,例如我們的訂單日誌的情況就可能非常多 我們歸納這些常量資訊,所以列舉是乙個非常不錯的選擇 同時提供了一些特殊的方法供我們使用。例如 intcompareto e o 比較此列舉與指定物件的順序。classgetdecla...

列舉 與 列舉的應用

列舉1 include 只定義了乙個資料型別,並沒有定義變數,該資料型別的名字是 enum weekday 預設 值是用0開始 monday 0 tuesday 1 sunday 6 enum weekday int main void 列舉2 include 只定義了乙個資料型別,並沒有定義變數,...

MQTT的實際應用

1 mqtt簡介 mqtt message queuing telemetry transport,訊息佇列遙測傳輸協議 是一種基於發布 訂閱 publish subscribe 模式的輕量級協議,該協議構建於tcp ip協議之上,mqtt是乙個基於客戶端 伺服器的訊息發布 訂閱傳輸協議。最大的優點...