因有个判断需要处理不同系统类型跳转不同 系统。 考虑用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 = null;

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;

}

java switch枚举类,Java 枚举 switch的用法相关推荐

  1. java枚举类--不使用switch case

    前言 java中使用枚举类获取枚举值,我们常用的方式就是使用switch case,代码看的非常臃肿,下面介绍一种方法精简代码.话不多说,上代码. 代码 枚举类 public enum Offbond ...

  2. java switch枚举类,使用枚举类enum代替switch

    使用枚举类enum代替switch 使用枚举类,能大大减少switch的代码量,提高代码阅读性 public enum TestEnum { stu1("小明", "一班 ...

  3. java反射 枚举_Java反射应用之获取枚举类的枚举

    Java反射实际应用 实际工作中使用到的Java反射并不是很多,我接触到的基本上都是工具类中相对比较常用一些,本篇文章就是我实际工作中遇到的场景. 应用场景:一个审批流程第一个节点审批时,需要填写第二 ...

  4. Java SE 常用类:枚举enum

    Java SE 常用类:枚举enum 1.enum 枚举 表示一种事物的所有可能|一种类型的所有情况. 软件包 java.lang 注意: 枚举类型不能自定义实例化,实例由程序猿|枚举类型自己提供,因 ...

  5. Java基础学习——Java网络编程(三)自定义枚举类、枚举类的常用方法、枚举类实现接口、枚举类的实际应用

    一.什么是枚举 枚举法:一枚一枚的列举出来,列举的元素是有限的.确定的. 例如:星期(一.二.三.四.五.六.日).性别(男.女).季节(春.夏.秋.冬) 在Java中的关键字为enum 二.枚举类的 ...

  6. java枚举和枚举类_Java枚举:您拥有优雅,优雅和力量,这就是我所爱!

    java枚举和枚举类 当Java 8即将面世时,您确定您对Java 5中引入的枚举很熟悉吗? Java枚举仍然被低估了,很可惜,因为它们比您想象的要有用,它们不仅仅用于通常的枚举常量! Java枚举是 ...

  7. java什么是类枚举类_java枚举类型是什么?

    下面就是一个典型枚举类型的定义: Java代码 Java代码 public enum Color{ RED,BLUE,BLACK,YELLOW,GREEN } 显然,enum很像特殊的class,实际 ...

  8. java 路径 工具类,java 绝对路径工具类

    在程中我们常取一些资源的绝对径,下面给出一个简单方便的工具类来帮助我们轻松的找到我想的资源.(适用于CS/BS应用) import java.io.File; import java.io.IOExc ...

  9. java 抽象接口类,Java接口(interface)和Java抽象类(abstract class)的区别(详诉版)

    1.概述 一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架, 当代表业务逻辑的高层抽象层结构合理时,你底层的具体实现需要考虑的就仅仅是一些算法 ...

  10. java配置文件工具类,java项目加载配置文件的工具类

    java项目加载配置文件的工具类 package com.loadproperties; import java.io.IOException; import java.io.InputStream; ...

最新文章

  1. HDU1007 查找平面最近点对
  2. python乒乓球比赛规则介绍_乒乓球比赛规则及活动方案
  3. IP网络设计系列之-局域网设计
  4. 如何使用Retrofit,OkHttp,Gson,Glide和Coroutines处理RESTful Web服务
  5. LeetCode MySQL 512. 游戏玩法分析 II
  6. 移动端html5广告的优势,h5手机端开发的优势都有哪些呢
  7. 如何用计算机做出折线图,曲线图怎么做-怎样在电脑上做曲线图电脑上如何做曲线图 – 手机爱问...
  8. android pdf阅读器推荐,Android最强PDF阅读器 十款软件大PK
  9. 软考程序员Java答题速成_软考程序员考试下午考题解答技巧方法
  10. 第21篇 项目进度管理__关键路径法
  11. 关于CC2541蓝牙开发板的学习笔记
  12. 问题 G: [入门OJ]差(NHOI2015xj6)
  13. Compiling for iOS 10.0, but module ‘xxx‘ has a minimum deployment target of iOS 12.0
  14. KafKa 启动异常 : ERROR Failed to clean up log for __consumer_offsets-30 in dir 另一个程序正在使用此文件,进程无法访问
  15. 【读书】少有人走的路---自律(斯科特 派克)
  16. 苹果iPA游戏软件资源下载网站
  17. Chisel 手册(中文part1)
  18. GAMIT重新编译及升级
  19. 谈谈传递闭包以及自己杂想
  20. stm32f767之ADC

热门文章

  1. 2017年度最值得读的AI论文 | CV篇 · 评选结果公布
  2. NVIDIA显卡驱动及CUDA相关安装流程(包括多版本cuda切换)
  3. 传奇架设 GEE引擎教程 配置微端
  4. 浅谈WMS系统(SAP WMS系统及非SAP的WMS系统)
  5. 微信电脑端双击不能放大图片怎么回事_IOS 微信 聊天双击放大图片操作
  6. 极客大学产品经理训练营:产品经理的职业规划 第20课总结
  7. APIO10-特别行动队-题解
  8. C语言-出生日期输入输出
  9. magento添加sku_快速提示:如何将优惠券添加到Magento电子商务商店
  10. 五月总结 时光待我不薄