天天看點

企業中枚舉類的使用

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

}