hjr-JAVA 枚举的使用技巧

当我们代码中有静态常量的时候,可以把常量移动到枚举里

举一个key value形式的枚举例子

如 一周七天 要做七件事

public enum Day{
    d1("d1", "打球"),
    d1("d1", "玩游戏"),
    d3("d3", "吃饭"),
    d4("d4", "睡觉"),
    d5("d5", "看电视"),
    d6("d6", "听歌"),
    d7("d7", "看电影"),;

    public static HashMap<String, String> day7= new HashMap<String, String>() {{
    }};
	//此处代码能够把所有枚举转化为map,然后就可以day7.get(Day.d1.getIndex()) 获取到值
    static {
        for (Header e : Header.values()) {
            day7.put(e.getIndex(),e.getName());
        }
    }

    // 成员变量
    private String index;
    private String name;

    // 构造方法
    Header(String index, String name) {
        this.name = name;
        this.index = index;



    }

    // 普通方法
    public static String getName(String index) {
        for (Header c : Header.values()) {
            if (c.getIndex() == index) {
                return c.name;
            }
        }
        return null;
    }

    public String getName() {
        return name;
    }

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

    public String getIndex() {
        return index;
    }

    public void setIndex(String index) {
        this.index = index;
    }


}

在使用的时候,我们可以Day.d1.getindex()获取到key,Day.d1.getName()获取到值

这么写的好处是可以直接Day.xxx 获取到想要的元素,比数组arry[0]这种方式要直观,并且初始化map也很方便,遍历枚举也可以简化很多地方的代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

架构师小侯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值