Java中善用通用的枚举对象类实现代码业务的判断
場景
在業(yè)務(wù)開發(fā)中,獲取到某對(duì)象的屬性需要對(duì)該對(duì)象的屬性值進(jìn)行判斷。
根據(jù)不同的屬性值從而執(zhí)行不同的邏輯。
比如某班次對(duì)象有個(gè)班次類型屬性,其屬性值取值為:地面班次、井下班次、混合班次 。
在獲取該對(duì)象的班次類型屬性需要對(duì)該屬性值進(jìn)行判斷,從而執(zhí)行不同的邏輯。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
關(guān)注公眾號(hào)
霸道的程序猿
獲取編程相關(guān)電子書、教程推送與免費(fèi)下載。
實(shí)現(xiàn)
此屬性值一般在數(shù)據(jù)庫中會(huì)關(guān)聯(lián)碼表進(jìn)行存儲(chǔ)顯示。
比如數(shù)據(jù)庫中存儲(chǔ)0,實(shí)際顯示地面班次。
但是在代碼中總不能使用該屬性與是否等于0做判斷,這樣如果0以后要修改為代表別的內(nèi)容,
那么所有相關(guān)的代碼都要修改。
我們可以在公共模塊下新建一個(gè)枚舉類
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就要與數(shù)據(jù)庫中存儲(chǔ)的屬性值的類型相對(duì)應(yīng)。
然后在代碼邏輯中這樣判斷
if(kqsjTian.getKqlx()!=null && kqsjTian.getKqlx().toString().equals(Bclx.dm.getCode())) { }其中kqsjTian就是對(duì)象,getKqlx就是獲取班次類型這個(gè)屬性,然后與枚舉類的dm的code進(jìn)行對(duì)比。
這樣以后如果修改了地面所使用的code嗎這塊邏輯也不用修改。
總結(jié)
以上是生活随笔為你收集整理的Java中善用通用的枚举对象类实现代码业务的判断的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java中怎样遍历Map的所有数据
- 下一篇: Java中怎样新建一个list并给其赋值