Java枚舉類型通過Key獲取value

1、廢話不多說,直接上代碼

    @Test
    public void contextLoads(){
        System.out.println("通過name獲取value:"+test.getNameByValue("小貓"));
        System.out.println("通過value獲取name:"+test.getNameByValue("小狗-1"));
        System.out.println("通過value獲取name"+Enum.valueOf(test.class,"小貓").getValue()); 
    }

     enum test {
        A("小貓", "小貓-1"),
        B("小狗", "小狗-1"),
        C("小蛇", "小蛇-1"),
        D("小熊", "小熊-1"),
        E("小雞兒", "小雞兒-1"),
        F("小蟻", "小蟻-1"),
        G("小鳥", "小鳥-1");

        String name;
        String value;

        private test(String name, String index) {
            this.name = name;
            this.value = index;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getValue() {
            return value;
        }

        public void setValue(String value) {
            this.value = value;
        }

        //通過name-獲取value
        public static String getValueByName(String name) {
            for (test test : test.values()) {
                if (name.equals(test.name)) {
                    return test.getValue();
                }
            }
            return name;
        }

        //通過vale-獲取name
        public static String getNameByValue(String value) {
            for (test test : test.values()) {
                if (value.equals(test.value)) {
                    return test.getName();
                }
            }
            return value;
        }
    }



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章