/**
*
* 枚举简单应用实例
*
*/
public enum EnumTest {
CHECK(0,"审核中");
private int state;
private String stateInfo;
/**
* 一旦为枚举类显式定义了带参数的构造器,则列出枚举值时也必须对应地传入参数;
* 构造方法中的参数个数与类型必须与CHECK(0,"审核中")中的参数个数与类型一致,不然报错;
* 不写构造方法也报错。
*
* @param state
* @param stateInfo
*/
private EnumTest(int state,String stateInfo) {
this.state = state;
this.stateInfo = stateInfo;
}
public int getState() {
return state;
}
public String getStateInfo() {
return stateInfo;
}
/**
* 依据传入的state返回相应的enum值
*/
public static EnumTest stateOf(int state) {
//values()返回 enum 实例的数组,而且该数组中的元素严格保持在 enum 中声明时的顺序。
for (EnumTest stateEnum : values()) {
if (stateEnum.getState() == state) {
return stateEnum;
}
}
return null;
}
public static void main(String[] args) {
System.out.println(EnumTest.CHECK);//CHECK
System.out.println(CHECK.getState());//0
System.out.println(CHECK.state);//0
System.out.println(CHECK.stateInfo);//审核中
//根据传入的状态值0,遍历出CHECK
System.out.println(stateOf(CHECK.getState()));//CHECK
System.out.println(stateOf(CHECK.getState()).getState());//0
System.out.println(stateOf(CHECK.getState()).getStateInfo());//审核中
}
}
Java枚举简单应用实例
最新推荐文章于 2021-07-14 10:36:59 发布