最近做到一个新项目,是前后端分离的,这边基本所有数据都是从后端通过接口获取的,这里使用枚举解决,状态筛选等问题,不用每次从数据库获取了;还可以增强代码的整洁
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());
}
}