java开发中使用枚举表述数据字典

Posted inspire0x001

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java开发中使用枚举表述数据字典相关的知识,希望对你有一定的参考价值。

一.用枚举表述数据字典

1.代码:

package com.inspire.jdk.caculate;

/**
 * Created by yaming
 * 用枚举表述常量数据字段
 */
public enum  StateEnum {
   //使用构造方法创建对象,每一个都是StateEnum的实例 SUCCESS(
1, "成功"), FAILED(0, "失败"); private int state; private String stateInfo; public int getState() { return state; } public String getStateInfo() { return stateInfo; } StateEnum(int state, String stateInfo){ this.state = state; this.stateInfo = stateInfo; } /** * 根据int类型的index,找到对应StateEnum * @param index * @return */ public static StateEnum stateOf(int index){ for (StateEnum state:values()){ if (state.getState()==index){ return state; } } return null; } /** * 根据int类型的index,找到对应的String的值 * @param index * @return */ public static String valuesOf(int index){ for (StateEnum state:values()){ if (state.getState()==index){ return state.getStateInfo(); } } return "null"; } }

2.java中的枚举类(enum)和java中的普通类(class)一样,只是预先定义了一系列的示例变量

如:
public enum Color {
// 每个变量都是 Color 的一个示例
RED, YELLOW, BLUE;
}

  2.1 所以枚举内部直接就可以书写示例变量,如RED,YELLOW,BLUE.
  2.2 枚举有一些自然获得的成员方法,Color.values()方法

  2.3 枚举类和普通类相似的一个依据就是,枚举也可以含有构造函数

3.总结:

枚举限制住了该类型的实例变量的个数和可能性,因为一个枚举的实例变量在定义该枚举时就确定了



以上是关于java开发中使用枚举表述数据字典的主要内容,如果未能解决你的问题,请参考以下文章

用反射的方法获取枚举值(数据字典)

c#将枚举转换成字典集合

java后台开发中字典表的设计和使用

Java中枚举的写法和用法

Java开发工程师高质量代码必备:枚举类

java里啥情况用枚举啊