欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java枚举类型通过Key获取value

程序员文章站 2022-03-02 08:10:47
...

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



上一篇: 2021-04-01

下一篇: 快速排序