Java 枚举 结合switch的用法 您所在的位置:网站首页 正确的switch语句 Java 枚举 结合switch的用法

Java 枚举 结合switch的用法

2024-06-18 13:53| 来源: 网络整理| 查看: 265

因有个判断需要处理不同系统类型跳转不同 系统。 考虑用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 paramMap, ErpResponse checkData) throws Exception { ErpResponse loginData = new ErpResponse(); Map user= (Map) 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; }

———————————————— 版权声明:本文为CSDN博主「执笔记忆的空白」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/moneyshi/article/details/82978073



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有