Java 列舉 switch的用法
因有個判斷需要處理不同系統型別跳轉不同 系統。 考慮用switch + 列舉的方式。 具體使用案例如下:
package com.b2b.common.constant;
import com.base.utils.base.StringUtils;
/**
* 系統型別列舉
* @author shijing
*/
public enum SystemType {
ERP(0,"ERP"),
ORDER_PLATFORM(1,"訂貨平臺"),
PERSONAL(2,"個人中心繫統"),
SHOP_MALL(3,"商城"),
PARTNER(4,"夥伴系統");
private int value;
private String desc;
SystemType(int value ,String desc) {
this.value = value;
this.desc = desc;
}
public int getValue() {
return value;
}
public String getDesc() {
return desc;
}
/**
* 通過value取列舉
* @param value
* @return
*/
public static SystemType getTypeByValue(String value){
if (StringUtils.isNull(value)){
return null;
}
int valueKey = Integer.parseInt(value);
for (SystemType enums : SystemType.values()) {
if (enums.getValue() == valueKey) {
return enums;
}
}
return null;
}
/**
* 通過value取描述
* @param value
* @return
*/
public static String getDescByValue(int value) {
for (SystemType enums : SystemType.values()) {
if (enums.getValue() == value) {
return enums.getDesc();
}
}
return "";
}
}
switch+列舉的使用案例:
/**
* 區分不同系統型別,登入不同系統
* @author shijing
* @param paramMap
* @param checkData
* @return
* @throws Exception
*/
private ErpResponse getLoginResponse(Map<String, Object> paramMap, ErpResponse checkData) throws Exception {
ErpResponse loginData = null;
Map<String,Object> user= (Map<String, Object>) checkData.getData();
//獲取user的系統型別,然後區分是哪個系統例項使用者登入
String sysBaseType = (String) user.get("sys_base_type");
SystemType systemType = SystemType.getTypeByValue(sysBaseType);
switch(systemType){
case ERP:
erpLogin((String) user.get("user_id"));
loginData.setData(user);
break;
case ORDER_PLATFORM:
//訂貨平臺
orderPlatformLoginByCheck(paramMap);
loginData.setData(user);
break;
case PERSONAL:
//個人中心
loginData = personalLogin(user);
break;
default:
LOGGER.info("系統型別不滿足");
break;
}
return loginData;
}
相關文章
- Java enum列舉類詳解 列舉的常見用法Java
- Java列舉的七種常見用法Java
- java中switch的用法Java
- Java 列舉7常見種用法Java
- 【轉】Java 列舉7常見種用法Java
- Swift列舉的全用法Swift
- Java 列舉(enum) 詳解7種常見的用法Java
- Java列舉Java
- Java 列舉、JPA 和 PostgreSQL 列舉JavaSQL
- java中的列舉Java
- 使用列舉ENUM替換Switch或If-Else
- Java 列舉(enum)Java
- java列舉類Java
- Java列舉使用Java
- Java列舉-通過值查詢對應的列舉Java
- 【java基礎】--Java列舉Java
- java中的列舉型別Java型別
- Java基礎--列舉Java
- 【java基礎】列舉Java
- Java(4)列舉類Java
- 【java】【列舉使用技巧】Java
- Java列舉解讀Java
- java列舉型別Java型別
- java 列舉型別Java型別
- 列舉的幾種使用案例(簡單,進階,switch,單例)單例
- JAVA的陣列基本用法Java陣列
- ?Java基礎之Java列舉Java
- 聊一聊Java的列舉enumJava
- JAVA列舉的作用與好處Java
- 深入理解 Java 列舉Java
- Java - Enum 列舉型別Java型別
- Java —— 列舉類(enum 類)Java
- java_06列舉類Java
- Java 列舉 enum 詳解Java
- JAVA(四)類集/列舉Java
- java基礎:enum列舉Java
- java中列舉(Enum)使用Java
- JAVA列舉使用詳解Java