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);
}
}