关于java中的枚举enum

此前对于枚举enum的用法一直不太清晰,今天具体的研究了一下,特此记录下来!!!


关于常量的定义基本格式如下:


public class Department {

        public final static Sring DEPARTMENT_1 = "开发部";


        public final static Sring DEPARTMENT_2 = "人力资源部";


        public final static Sring DEPARTMENT_3 = 财务部;

}


现在下面采用枚举的方式来定义常量:


枚举类型提供了构造函数:

public enum TestEnum {
    DEPARTMENT_1("开发部"),
    DEPARTMENT_2("人力资源部"),
    DEPARTMENT_3("财务部");

    /** 枚举value */
    private String value;

    /**
     * 构造函数
     * @param value
     */
    private TestEnum(String value) {
        this.value = value;
    }

    public String getValue() {
        return value;
    }

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

}

/************************************************************************************/

当我们想进行权限控制,需要以键值对的形式进行定义时,该如何定义呢?


以下是用枚举的方式来定义,构造函数很强大!


public enum TestEnum1 {
    DEPARTMENT_1("1", "开发部"),

    DEPARTMENT_2("2", "人力资源部"),

    DEPARTMENT_3("3", "财务部");

    /** 枚举code */
    private String code;

    /** 枚举value */
    private String value;

    /**
     * 构造函数
     * @param code
     * @param value
     */
    private TestEnum1(String code, String value) {
        this.code = code;
        this.value = value;
    }

    /**
     * 通过枚举<code>code</code>获得枚举。
     * 
     * @param code            权限值
     * @return testEnum 权限值枚举
     */
    public static String getValueByCode(String code) {
        for (TestEnum1 testEnum : TestEnum1.values()) {
            if (code.equals(testEnum.getCode())) {
                return testEnum.getValue();
            }
        }
        return null;
    }

    public String getCode() {
        return code;
    }


    public void setCode(String code) {
        this.code = code;
    }

    public String getValue() {
        return value;
    }

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

}



以上,仅供参考!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值