大家在做项目的时候,总会涉及到一些系统常量需要定义,很可能大家会这样写:
在实际应用过程当中可以使用类名+属性名来进行常量引用,比如我们要获取未提交的报销状态时,可以这样写:
咱们现在可以使用Java中的枚举类型来进行常量的定义。上面的例子如果用枚举类可以写成:
在实际应用过程当中可以使用类名+属性名+调用方法来进行常量引用,比如我们要获取未提交的报销状态时,可以这样写:
可能大家会问这两种写法会有什么区别?或者说使用java的枚举类型有什么好处或者优点呢?现在我来具体枚举一下枚举类型的特点:
1、可列性;
2、常量性;
3、强类型;
4、类的特性.
- package mytest;
- public class Simple {
- public static final int INT_EXP_STATUS_UNSUBMIT = 1;//报销状态-未提交状态
- public static final int INT_EXP_STATUS_SUBMITTED = 2;//报销状态-已提交状态
- public static final int INT_EXP_STATUS_VERIFYUNPASS = 3;//报销状态-未审核状态
- public static final int INT_EXP_STATUS_VERIFYPASS = 4;//报销状态-已审核状态
- public static final String STRING_FULLTIEM_EMP = "正式员工";//员工类型-正式员工
- public static final String STRING_TRAINEE_EMP = "实习生";//员工类型-实习生
- public static final String STRING_PARTTIME_EMP = "兼职/劳务";//员工类型-兼职/劳务
- }
在实际应用过程当中可以使用类名+属性名来进行常量引用,比如我们要获取未提交的报销状态时,可以这样写:
- Simple.INT_EXP_STATUS_SUBMITTED;
咱们现在可以使用Java中的枚举类型来进行常量的定义。上面的例子如果用枚举类可以写成:
- package mytest;
- public enum Myenum {
- //枚举常量必须要写在类开始的位置,不然会报错
- INT_EXP_STATUS_UNSUBMIT(1), //报销状态-未提交状态
- INT_EXP_STATUS_SUBMITTED(2),//报销状态-已提交状态
- INT_EXP_STATUS_VERIFYUNPASS(3),//报销状态-未审核状态
- INT_EXP_STATUS_VERIFYPASS(4),//报销状态-已审核状态
- STRING_FULLTIEM_EMP("正式员工"),//员工类型-正式员工
- STRING_TRAINEE_EMP("实习生"),//员工类型-实习生
- STRING_PARTTIME_EMP("兼职/劳务");//员工类型-兼职/劳务
- private String stringValue;
- private int intVlue;
- //构造函数必须为private的,防止意外调用
- private Myenum(String stringValue){
- this.stringValue = stringValue;
- }
- //构造函数必须为private的,防止意外调用
- private Myenum(int intVlue){
- this.intVlue = intVlue;
- }
- public String getStringValue() {
- return stringValue;
- }
- public int getIntVlue() {
- return intVlue;
- }
- }
在实际应用过程当中可以使用类名+属性名+调用方法来进行常量引用,比如我们要获取未提交的报销状态时,可以这样写:
- Myenum.INT_EXP_STATUS_SUBMITTED.getIntVlue()
可能大家会问这两种写法会有什么区别?或者说使用java的枚举类型有什么好处或者优点呢?现在我来具体枚举一下枚举类型的特点:
1、可列性;
2、常量性;
3、强类型;
4、类的特性.