Java中枚举类的使用
平常在公司中写代码,为了代码编写规范,尽量不使用数字,采用枚举类表示,下面就是枚举类的使用:
/**
* 审核状态
*
* @author zyh
* @date 2019年10月24日17:51:56
*
*/
public enum SupplierAuditStateEnum {
/** 未认证 */
UN_AUTH(1),
/** 认证中 */
AUTHING(2),
/** 认证通过 */
AUTHED(3),
/** 认证失败 */
AUTHFAIL(4),;
private static final EnumMap<SupplierAuditStateEnum, String> TEXT_MAP = new EnumMap<>(SupplierAuditStateEnum.class);
static {
TEXT_MAP.put(SupplierAuditStateEnum.UN_AUTH, "未认证");
TEXT_MAP.put(SupplierAuditStateEnum.AUTHING, "认证中");
TEXT_MAP.put(SupplierAuditStateEnum.AUTHED, "认证通过");
TEXT_MAP.put(SupplierAuditStateEnum.AUTHFAIL, "认证失败");
}
private int value;
private SupplierAuditStateEnum(int value) {
this.value = value;
}
public static SupplierAuditStateEnum parse(int value) {
for (SupplierAuditStateEnum type : SupplierAuditStateEnum.values()) {
if (value == type.value) {
return type;
}
}
throw new RuntimeException("无法解析的订单来源状态值:" + value);
}
public int value() {
return value;
}
public String toString() {
return TEXT_MAP.get(this);
}
}