1. 程式人生 > 實用技巧 >Java中善用通用的列舉物件類實現程式碼業務的判斷

Java中善用通用的列舉物件類實現程式碼業務的判斷

場景

在業務開發中,獲取到某物件的屬性需要對該物件的屬性值進行判斷。

根據不同的屬性值從而執行不同的邏輯。

比如某班次物件有個班次型別屬性,其屬性值取值為:地面班次、井下班次、混合班次 。

在獲取該物件的班次型別屬性需要對該屬性值進行判斷,從而執行不同的邏輯。

注:

部落格:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程式猿
獲取程式設計相關電子書、教程推送與免費下載。

實現

此屬性值一般在資料庫中會關聯碼錶進行儲存顯示。

比如資料庫中儲存0,實際顯示地面班次。

但是在程式碼中總不能使用該屬性與是否等於0做判斷,這樣如果0以後要修改為代表別的內容,

那麼所有相關的程式碼都要修改。

我們可以在公共模組下新建一個列舉類

public enum Bclx {

    dm("0", "地面班制"), jx("1", "井下班制"), hh("2", "混合班制");

    private final String code;
    private final String info;

    Bclx(String code, String info)
    {
        this.code = code;
        this.info = info;
    }

    public String getCode()
    {
        
return code; } public String getInfo() { return info; } }

這裡定義的code就要與資料庫中儲存的屬性值的型別相對應。

然後在程式碼邏輯中這樣判斷

if(kqsjTian.getKqlx()!=null && kqsjTian.getKqlx().toString().equals(Bclx.dm.getCode()))
{
}

其中kqsjTian就是物件,getKqlx就是獲取班次型別這個屬性,然後與列舉類的dm的code進行對比。

這樣以後如果修改了地面所使用的code嗎這塊邏輯也不用修改。