使用枚举实现简单的数据处理
来源:互联网 发布:什么是淘宝店铺推广 编辑:程序博客网 时间:2024/05/16 12:35
项目中有些需求需要对数据进行筛选,或者对数据进行转换。如果数据很多,再使用判断语句来进行就难以满足需求,或者不断的判断烦不胜烦。使用Enum可以实现对大量数据的筛选,也可以对数据进行转换。
举个栗子
1、筛选
判断数据是否在某个范围内
public enum FilterDemoEnum { fav{ @Override public String getFormat() { return "/fav"; } }, browseHistory{ @Override public String getFormat() { return "/browseHistory"; } }, VIP{ @Override public String getFormat() { return "/promoteCode/VIP"; } }; public abstract String getFormat(); public static boolean getFilterUri(String format) { for (FilterDemoEnum enums : FilterDemoEnum.values()) { if (enums.getFormat().equals(format)) return true; } return false; }}
2、数据转换
public enum UserGradeEnum { v0{ @Override public int getNumGrade(){ return 0; } @Override public String getVGrade(){ return "V0"; } @Override public String getLevelName(){ return "普通成员"; } }, v1{ @Override public int getNumGrade(){ return 1; } @Override public String getVGrade(){ return "V1"; } @Override public String getLevelName(){ return "银卡会员"; } }, v2{ @Override public int getNumGrade(){ return 2; } @Override public String getVGrade(){ return "V2"; } @Override public String getLevelName(){ return "金卡会员"; } }, v3{ @Override public int getNumGrade(){ return 3; } @Override public String getVGrade(){ return "V3"; } @Override public String getLevelName(){ return "白金卡会员"; } }, v4{ @Override public int getNumGrade(){ return 4; } @Override public String getVGrade(){ return "V4"; } @Override public String getLevelName(){ return "黑金卡会员"; } }; public abstract int getNumGrade(); public abstract String getVGrade(); public abstract String getLevelName(); /** * 根据用户等级名称,获取对应的等级数字 * @param context * @param levelName * @return */ public static int getNumGradeByLevelName(Context context, String levelName){ if (MyCenterUtil.getUserId(context) == null){ return 0; } if (levelName == null){ levelName = MyCenterUtil.getUserLevelName(context); } for (UserGradeEnum gradeEnum : UserGradeEnum.values()){ if (gradeEnum.getLevelName().equalsIgnoreCase(levelName)){ return gradeEnum.getNumGrade(); } } return 0; } /** * 根据用户等级“VX",转换为用户等级名称保存到本地 * @param context * @param vGrade */ public static void saveLevelNameByVGrade(Context context, String vGrade){ if (MyCenterUtil.strIsNull(vGrade)){ return; } for (UserGradeEnum gradeEnum : UserGradeEnum.values()){ if (gradeEnum.getVGrade().equalsIgnoreCase(vGrade)){ MyCenterUtil.saveUserLevelName(context, gradeEnum.getLevelName()); } } }}
OK,这样就完成了!避免了大量的重复代码,心情都变好了~
0 0
- 使用枚举实现简单的数据处理
- 枚举的简单使用
- 枚举的简单使用
- 枚举的简单使用
- 简单的使用枚举
- Java简单枚举的实现
- 枚举类型的简单使用
- C#枚举的简单使用
- 简单的使用枚举2
- Java 枚举的简单使用
- Matlab 简单的数据处理
- java的枚举enum的简单使用
- 关于枚举enum的的简单使用
- Java enum(枚举)的简单使用
- C++中枚举的简单使用
- java中枚举类型的简单使用
- IOS 枚举的简单应用;使用
- Java中枚举类的简单使用
- Java多线程(一)
- 小晚wan的公众号
- Bug总结之Mybatis(2017.3 ~ .4)
- ASP.NET 基础 视频课程
- laravel 5.3用户认证--默认的用户表数据迁移
- 使用枚举实现简单的数据处理
- “类视图”和“对象浏览器”图标的含义
- 第八章 8-4 数字时钟
- AOP的实现方式
- mybatis原理
- 如何屏蔽UC强制嵌入到你网站页面上的垃圾广告
- jquery-ajax数据交换
- SQL Server 2014 视频课程
- web.config详解(原文:http://blog.csdn.net/zhoufoxcn/article/details/3265141)