Java實現(xiàn)轉(zhuǎn)跳不同系統(tǒng)使用枚舉加switch的方式示例
因有個判斷需要處理不同系統(tǒng)類型跳轉(zhuǎn)不同系統(tǒng)??紤]用switch
+ 枚舉
的方式。
具體使用案例如下:
package com.b2b.common.constant; import com.base.utils.base.StringUtils; /** * 系統(tǒng)類型枚舉 * @author shijing */ public enum SystemType { ERP(0,"ERP"), ORDER_PLATFORM(1,"訂貨平臺"), PERSONAL(2,"個人中心系統(tǒng)"), SHOP_MALL(3,"商城"), PARTNER(4,"伙伴系統(tǒng)"); 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+枚舉的使用案例:
/** * 區(qū)分不同系統(tǒng)類型,登錄不同系統(tǒng) * @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的系統(tǒng)類型,然后區(qū)分是哪個系統(tǒng)實例用戶登錄 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("系統(tǒng)類型不滿足"); break; } return loginData; }
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
- 詳解java中if語句和switch的使用
- Java中switch的三種用法方式
- 淺談java switch如果case后面沒有break,會出現(xiàn)什么情況?
- java中的switch case語句使用詳解
- Java枚舉類型在switch語句正確使用方法詳解
- Java Switch對各類型支持實現(xiàn)原理
- Java switch使用原理及實例解析
- Java switch多值匹配操作詳解
- Java switch關(guān)鍵字原理及用法詳解
- JAVA字符串類型switch的底層原理詳析
- Java switch 語句如何使用 String 參數(shù)
- java中switch選擇語句代碼詳解
- Java中Switch用法代碼示例
- Java基礎(chǔ)之switch分支結(jié)構(gòu)詳解
相關(guān)文章
詳解spring-boot集成elasticsearch及其簡單應用
本篇文章主要介紹了詳解spring-boot集成elasticsearch及其簡單應用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06Spring3 整合MyBatis3 配置多數(shù)據(jù)源動態(tài)選擇SqlSessionFactory詳細教程
這篇文章主要介紹了Spring3 整合MyBatis3 配置多數(shù)據(jù)源動態(tài)選擇SqlSessionFactory詳細教程,需要的朋友可以參考下2017-04-04Springboot整合SpringSecurity的完整案例詳解
Spring Security是基于Spring生態(tài)圈的,用于提供安全訪問控制解決方案的框架,Spring Security登錄認證主要涉及兩個重要的接口 UserDetailService和UserDetails接口,本文對Springboot整合SpringSecurity過程給大家介紹的非常詳細,需要的朋友參考下吧2024-01-01利用Java異常機制實現(xiàn)模擬借書系統(tǒng)
這篇文章主要給大家介紹了利用Java異常機制實現(xiàn)模擬借書系統(tǒng)的相關(guān)資料,文中先對java異常機制進行了簡單介紹,而后通過示例代碼介紹了java語言是如何實現(xiàn)一個控制臺版的模擬借書系統(tǒng),需要的朋友可以參考學習,一起來看看吧。2017-04-04