欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中枚舉類型的一種使用方式

 更新時間:2020年08月03日 14:46:48   作者:qq_25014509  
這篇文章主要介紹了Java中枚舉類型的一種使用方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

今天改同事的代碼發(fā)現(xiàn)同事的代碼中有大量的if else語句。很不美觀而且可讀性太差。

因為需要給前端一個key,value的列表。這個列表寫死。然而同事的代碼。

放幾張圖,大家自己感受。我都不知道以后這個api咋維護,新增一個工站,減少一個工站。

果然新的任務(wù)新增4個工站,好吧,開始給代碼裝扮一下。

首先,寫一個枚舉類。

package com.smartflow.common.enumpackage;

/**
 * @author :tao
 * @date :Created in 2020/8/1 22:51
 * @description:${description}
 */
public enum StationEnum {
 /**
 *
 */
 STATION_PRODUCTION(1,"生產(chǎn)工站"),
 STATION_TEST(2,"測試工站"),
 STATION_FIX(3,"維修工站"),
 STATION_VIRTUAL(4,"虛擬工站"),
 STATION_MATERIAL(5,"上料工站"),
 STATION_CRASH(6,"清洗工站"),
 STATION_PAK(7,"配送工站");

 private final int key;
 private final String value;

 StationEnum(int key, String value) {
 this.key = key;
 this.value = value;
 }

 public int getKey() {
 return key;
 }

 public String getValue() {
 return value;
 }
}

然后這個是獲取工站的列表,看吧你幾乎看不到重復(fù)的new map,或者是魔法值。對比一下上邊的是不是很美觀。

/**
 *獲取工站類型列表
 * @return 工站類型列表
 */
private List<Map<String,Object>>getStationTypeList()
{

 List<Map<String, Object>> stationTypeList = new ArrayList<>();

 for (StationEnum stationEnum:StationEnum.values())
 {
 Map<String, Object> stationType = new HashMap<>(2);
 stationType.put("key", stationEnum.getKey());
 stationType.put("label", stationEnum.getValue());
 stationTypeList.add(stationType);
 }

 return stationTypeList;
}

接著根據(jù)工站id也就是key查找工站名

/**
 * 根據(jù)key值查找工站名
 * @param key key值
 * @return 返回攻占名
 */
private String getStationLabel(int key)
{
 for (StationEnum stationEnum:StationEnum.values())
 {
 if (stationEnum.getKey()==key)
 {
  return stationEnum.getValue();
 }
 }
 return "測試工站";
}

可以看到幾行代碼就搞定了。而且代碼重用性高,可維護性好。想添加工站或者減少工站直接在枚舉類型中改變就可以了。不用修改大量的代碼。

到此這篇關(guān)于Java中枚舉類型的一種使用方式的文章就介紹到這了,更多相關(guān)Java中枚舉類型使用方式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論