java 程序中枚举值通过key获取value和通过value获取key
我们在编写程序的时候,肯定是少不了枚举值。但是我们如何去获取枚举里面的值呢?首先我们先创建一个枚举类,并写通过key获取value 和通过value获取key的方法public enum ProvisionEnum {NO_SUBMIT(0,"未提交"), SUBMIT(1,"已提交"),MODIFY(2,"已修改"),SUBMIT_MODIFY(3,"已提交修改"),DELETE(4,"已删除"
·
我们在编写程序的时候,肯定是少不了枚举值。但是我们如何去获取枚举里面的值呢?
首先我们先创建一个枚举类,并写通过key获取value 和通过value获取key的方法
public enum ProvisionEnum {
NO_SUBMIT(0,"未提交"), SUBMIT(1,"已提交"),
MODIFY(2,"已修改"),SUBMIT_MODIFY(3,"已提交修改"),
DELETE(4,"已删除"),FAILURE(5,"已失效");
private int code;
private String message;
private ProvisionEnum(int code, String message) {
this.code = code;
this.message = message;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public static ProvisionEnum match(int key) {
ProvisionEnum result = null;
for (ProvisionEnum s : values()) {
if (s.getCode()==key) {
result = s;
break;
}
}
return result;
}
public static ProvisionEnum catchMessage(String msg) {
ProvisionEnum result = null;
for (ProvisionEnum s : values()) {
if (s.getMessage().equals(msg)) {
result = s;
break;
}
}
return result;
}
}
通过key获取value:
ProvisionEnum.match(key).getMessage();
通过value获取key:
ProvisionEnum.catchMessage(value).getCode();
更多推荐
所有评论(0)