Java 枚举类型的使用

▼魔方 西西 提交于 2019-12-04 08:10:34

看了一篇别人写的关于枚举类型的博客

https://www.cnblogs.com/jin-zhe/p/8259422.html

以下是个人学习枚举的一些总结

public enum AuditEnum {
    NOT_SUBMIT("未提交", "0"),
    TO_AUDIT("待审批", "1"),
    REVOKE("撤回", "2"),
    READ("已阅", "3"),
    PASS("通过", "4"),
    NOT_PASS("驳回", "5"),
    FINALIZED("定稿", "6"),
    DELETE("删除", "7");

    private String name;

    private String value;

    AuditEnum(String name, String value) {
        this.name = name;
        this.value = value;
    }

    /**
     * 根据值,查找名字
     * @param index
     * @return
     */
    public static String getName(String index) {
        for (AuditEnum c : AuditEnum.values()) {
            if (c.getValue() == index) {
                return c.name;
            }
        }
        return "-1";
    }

    /**
     * 根据名字,查找值
     * @param name
     * @return
     */
    public static String getValue(String name) {
        for (AuditEnum c : AuditEnum.values()) {
            if (c.getName() == name) {
                return c.value;
            }
        }
        return "-1";
    }

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

    public static void main(String[] args) {
        System.out.println("-------得到枚举类型所有的值-----");
        for (AuditEnum value : AuditEnum.values()) {
            System.out.print(value.name +" - ");
            System.out.print(value.value);
            System.out.print("   ");
        }
        System.out.println();
        System.out.println("-------根据值,查找名字-----");
        System.out.println(AuditEnum.getName("5"));
        System.out.println(AuditEnum.getName("10"));

        System.out.println("-------根据名字,查找值-----");
        System.out.println(AuditEnum.getValue("定稿"));
        System.out.println(AuditEnum.getValue("测试"));

        System.out.println("-------根据名字,返回枚举对象,没有找到会报错-----");
        AuditEnum result = AuditEnum.valueOf("DELETE");
        System.out.println(result.name);
        System.out.println(result.value);

        AuditEnum result1 = AuditEnum.valueOf("XXX");
    }
}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!