場景
在業務開發中,獲取到某對象的屬性需要對該對象的屬性值進行判斷。
根據不同的屬性值從而執行不同的邏輯。
比如某班次對象有個班次類型屬性,其屬性值取值為:地面班次、井下班次、混合班次 。
在獲取該對象的班次類型屬性需要對該屬性值進行判斷,從而執行不同的邏輯。
注:
博客:
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嗎這塊邏輯也不用修改。