天天看点

企业中枚举类的使用

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

}