java枚举的使用
使用枚举实例,代码如下:
代码块
public enum DemoEnum {
init("种猪新增","/init/put","red"),
update("种猪修改","/zhy","#fff");
String name;
String url;
String color;
private DemoEnum(String name,String url,String color){
this.name=name;
this.url=url;
this.color=color;
}
public static DemoEnum getUrlByName(String name){
for(DemoEnum demo:values()){
if(demo.name.equals(name)){
return demo;
}
}
return null;
}
}
最佳实践
public class Tests {
public static void main(String[] args) {
System.out.println(DemoEnum.init.name);
System.out.println(DemoEnum.init.url);
System.out.println(DemoEnum.update.name);
System.out.println(DemoEnum.update.url);
DemoEnum urlByName = DemoEnum.getUrlByName("种猪修改");
System.out.println(urlByName.color);
System.out.println(urlByName.url);
}
}
代码一般使用情况如下:
public enum Week {
MONDAY("星期一", "Monday", "Mon.", 1),
TUESDAY("星期二", "Tuesday", "Tues.", 2),
WEDNESDAY("星期三", "Wednesday", "Wed.", 3),
THURSDAY("星期四", "Thursday", "Thur.", 4),
FRIDAY("星期五", "Friday", "Fri.", 5),
SATURDAY("星期六", "Saturday", "Sat.", 6),
SUNDAY("星期日", "Sunday", "Sun.", 7);
String name_cn;
String name_en;
String name_enShort;
int number;
Week(String name_cn, String name_en, String name_enShort, int number) {
this.name_cn = name_cn;
this.name_en = name_en;
this.name_enShort = name_enShort;
this.number = number;
}
public String getChineseName() {
return name_cn;
}
public String getName() {
return name_en;
}
public String getShortName() {
return name_enShort;
}
public int getNumber() {
return number;
}
}
定义一个枚举类
public enum ColorDemo {
RED(1, "红色"), BLUE(2, "蓝色"), GREEN(3, "绿色");
private int code;
private String val;
public int getCode() {
return code;
}
public String getVal() {
return val;
}
private ColorDemo(int code, String val) {
this.code = code;
this.val = val;
}
}
枚举的使用方法
public class Tests {
public static void main(String[] args) {
// 获取枚举里边的key 和 value 对应我们项目两边 type,status (字段是int类型,但是要翻译成对应的意思,用枚举就能很好的解决这个问题)
String val = ColorDemo.BLUE.getVal();
int code = ColorDemo.BLUE.getCode();
System.out.println(val + "--" + code);
// 遍历所有值
ColorDemo[] datas = ColorDemo.values();
for (ColorDemo item : datas) {
val = item.getVal();
code = item.getCode();
System.out.println(val + "--" + code);
}
}
}