java switch枚举类,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 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的用法相关推荐
- java枚举类--不使用switch case
前言 java中使用枚举类获取枚举值,我们常用的方式就是使用switch case,代码看的非常臃肿,下面介绍一种方法精简代码.话不多说,上代码. 代码 枚举类 public enum Offbond ...
- java switch枚举类,使用枚举类enum代替switch
使用枚举类enum代替switch 使用枚举类,能大大减少switch的代码量,提高代码阅读性 public enum TestEnum { stu1("小明", "一班 ...
- java反射 枚举_Java反射应用之获取枚举类的枚举
Java反射实际应用 实际工作中使用到的Java反射并不是很多,我接触到的基本上都是工具类中相对比较常用一些,本篇文章就是我实际工作中遇到的场景. 应用场景:一个审批流程第一个节点审批时,需要填写第二 ...
- Java SE 常用类:枚举enum
Java SE 常用类:枚举enum 1.enum 枚举 表示一种事物的所有可能|一种类型的所有情况. 软件包 java.lang 注意: 枚举类型不能自定义实例化,实例由程序猿|枚举类型自己提供,因 ...
- Java基础学习——Java网络编程(三)自定义枚举类、枚举类的常用方法、枚举类实现接口、枚举类的实际应用
一.什么是枚举 枚举法:一枚一枚的列举出来,列举的元素是有限的.确定的. 例如:星期(一.二.三.四.五.六.日).性别(男.女).季节(春.夏.秋.冬) 在Java中的关键字为enum 二.枚举类的 ...
- java枚举和枚举类_Java枚举:您拥有优雅,优雅和力量,这就是我所爱!
java枚举和枚举类 当Java 8即将面世时,您确定您对Java 5中引入的枚举很熟悉吗? Java枚举仍然被低估了,很可惜,因为它们比您想象的要有用,它们不仅仅用于通常的枚举常量! Java枚举是 ...
- java什么是类枚举类_java枚举类型是什么?
下面就是一个典型枚举类型的定义: Java代码 Java代码 public enum Color{ RED,BLUE,BLACK,YELLOW,GREEN } 显然,enum很像特殊的class,实际 ...
- java 路径 工具类,java 绝对路径工具类
在程中我们常取一些资源的绝对径,下面给出一个简单方便的工具类来帮助我们轻松的找到我想的资源.(适用于CS/BS应用) import java.io.File; import java.io.IOExc ...
- java 抽象接口类,Java接口(interface)和Java抽象类(abstract class)的区别(详诉版)
1.概述 一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架, 当代表业务逻辑的高层抽象层结构合理时,你底层的具体实现需要考虑的就仅仅是一些算法 ...
- java配置文件工具类,java项目加载配置文件的工具类
java项目加载配置文件的工具类 package com.loadproperties; import java.io.IOException; import java.io.InputStream; ...
最新文章
- HDU1007 查找平面最近点对
- python乒乓球比赛规则介绍_乒乓球比赛规则及活动方案
- IP网络设计系列之-局域网设计
- 如何使用Retrofit,OkHttp,Gson,Glide和Coroutines处理RESTful Web服务
- LeetCode MySQL 512. 游戏玩法分析 II
- 移动端html5广告的优势,h5手机端开发的优势都有哪些呢
- 如何用计算机做出折线图,曲线图怎么做-怎样在电脑上做曲线图电脑上如何做曲线图 – 手机爱问...
- android pdf阅读器推荐,Android最强PDF阅读器 十款软件大PK
- 软考程序员Java答题速成_软考程序员考试下午考题解答技巧方法
- 第21篇 项目进度管理__关键路径法
- 关于CC2541蓝牙开发板的学习笔记
- 问题 G: [入门OJ]差(NHOI2015xj6)
- Compiling for iOS 10.0, but module ‘xxx‘ has a minimum deployment target of iOS 12.0
- KafKa 启动异常 : ERROR Failed to clean up log for __consumer_offsets-30 in dir 另一个程序正在使用此文件,进程无法访问
- 【读书】少有人走的路---自律(斯科特 派克)
- 苹果iPA游戏软件资源下载网站
- Chisel 手册(中文part1)
- GAMIT重新编译及升级
- 谈谈传递闭包以及自己杂想
- stm32f767之ADC