枚举的使用

来源:互联网 发布:行测答题技巧知乎 编辑:程序博客网 时间:2024/05/21 21:39
最近做到一个新项目,是前后端分离的,这边基本所有数据都是从后端通过接口获取的,这里使用枚举解决,状态筛选等问题,不用每次从数据库获取了;还可以增强代码的整洁public enum BannerEnums {    online_banner(1,"已上线"),    offline_banner(0,"已下线"),    waitline_banner(2,"待上线"),    ;    private int status;    private String desc;    BannerEnums(int status,String desc){        this.status = status;        this.desc = desc;    }    public int getStatus() {        return status;    }    public void setStatus(int status) {        this.status = status;    }    public String getDesc() {        return desc;    }    public void setDesc(String desc) {        this.desc = desc;    }    /**     * 枚举转map     * @return     */    public static Map toMap(){        Map map = new HashMap();        BannerEnums [] banners = BannerEnums.values();        for (int i=0;i<banners.length;i++){            map.put(banners[i].getStatus(),banners[i].getDesc());        }        return map;    }    /**     * 根据key获取对象     * @param code     * @return     */    public static BannerEnums getBannerDescByStatus(int code){        BannerEnums[] enums = BannerEnums.values();        for (int i = 0; i < enums.length; i++) {            if (enums[i].getStatus()==(code)) {                return enums[i];            }        }        return null;    }    //main方法测试    public static void main(String[] args) {        System.out.println(BannerEnums.online_banner.getStatus());    }}