Java开发中利用枚举类来列举各个同一类型不同的值的情况

来源:互联网 发布:致幻蘑菇 知乎 编辑:程序博客网 时间:2024/05/17 20:00
大家在做项目的时候,总会涉及到一些系统常量需要定义,很可能大家会这样写: 

Java代码 收藏代码
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 = "兼职/劳务";//员工类型-兼职/劳务  

}

 在实际应用过程当中可以使用类名+属性名来进行常量引用,比如我们要获取未提交的报销状态时,可以这样写: 

Java代码 收藏代码
Simple.INT_EXP_STATUS_SUBMITTED;

 咱们现在可以使用Java中的枚举类型来进行常量的定义。上面的例子如果用枚举类可以写成: 

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()

原文地址:
http://newposte.iteye.com/blog/1447690

0 0
原创粉丝点击