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 = "兼职/劳务";//员工类型-兼职/劳务}
Simple.INT_EXP_STATUS_SUBMITTED;
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()