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