Java枚举根据参数获取对应值


public enum ChangeHandleEnum {

    CHANGE_HANDLE_MESSAGE_KEY1(1, "type1", "消息1"),
    CHANGE_HANDLE_MESSAGE_KEY2(2, "type2", "消息2"),
    CHANGE_HANDLE_MESSAGE_KEY3(3, "type3", "消息3"),
    CHANGE_HANDLE_MESSAGE_KEY4(4, "type4", "消息4");

    private Integer keyId;

    private String type;

    private String message;

    ChangeHandleEnum(Integer keyId, String type, String message){
        this.keyId = keyId;
        this.type = type;
        this.message = message;
    }

    public static String getMessageByKeyId(Integer keyId) {
        ChangeHandleEnum[] changeHandleEnums = values();
        for (ChangeHandleEnum changeHandleEnum : changeHandleEnums) {
            if (changeHandleEnum.getKeyId().equals(keyId)) {
                return changeHandleEnum.getMessage();
            }
        }
        return null;
    }

    public static String getTypeByKeyId(Integer keyId) {
        ChangeHandleEnum[] changeHandleEnums = values();
        for (ChangeHandleEnum changeHandleEnum : changeHandleEnums) {
            if (changeHandleEnum.getKeyId().equals(keyId)) {
                return changeHandleEnum.getType();
            }
        }
        return null;
    }

    public Integer getKeyId() {
        return keyId;
    }

    public String getType() {
        return type;
    }

    public String getMessage() {
        return message;
    }
}

 调用方法:

比如这里我们根据keyId获取message,

String message = ChangeHandleEnum.getMessageByKeyId(1);
System.out.println(message);    //message1

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM