public enum Color {
green(1,"绿"),red(2,"红"),blue(3,"蓝");
private Integer num;
private String name;
private Color(Integer num, String name) {
this.num = num;
this.name = name;
}
public Integer getNum() {
return num;
}
public void setNum(Integer num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//根据数字获取名称,要定义成static类型方法
public static String getNameByNum(Integer num) {
for(Color element : values()) {
if(element.getNum()==num) {
return element.getName();
}
}
return null;
}
}
测试:
public class Test {
public static void main(String[] args) {
System.out.println(Color.green);
System.out.println(Color.green.getNum());
System.out.println(Color.green.getName());
System.out.println(Color.getNameByNum(2));
}
}
输出:
green
1
绿
红
可以把枚举看作一个特殊的类