伪枚举enum根据key获取value值


/**
 * 伪枚举enum根据key获取value值
 * 前提:枚举值成员名为固定值Test_和key值拼接
 * 例如:使用Test_固定值 key为100 则值成员名为Test_100
 *
 * @Author: lds
 **/
public enum TestEnum {
    Test_100(100, "aaaa");

    /**
     * 错误码
     */
    private Integer code;

    /**
     * 错误消息
     */
    private String message;

    TestEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    /**
     * 根据错误码获取错误消息
     *
     * @param code 错误码
     * @return String 错误消息
     */
    public static String getMessageByCode(Integer code) {
        try {
            //固定值内部封装
            return TestEnum.valueOf("Test_" + code).getMessage();
        } catch (Exception e) {
            return "未知错误";
        }
    }

    public static void main(String[] args) {
        System.out.println(TestEnum.getMessageByCode(100));
    }

}

 

你可能感兴趣的:(java,enum)