枚举
枚举类
public enum Day {
MON("星期一"), TUE("星期二"), WED("星期三"), THU("星期四"), FRI("星期五"), SAT("星期六"), SUN("星期七");
private String label;
private Day(String label){
this.label = label;
}
public String getLabel() {
return label;
}
}
枚举类常用方法
public class Test {
public static void main(String[] args) {
Day[] days = Day.values();
System.out.println(days[1].name()); //获取是枚举对象的名字
System.out.println(days[1].getLabel());//调用枚举对象的getLabel方法,获取的是枚举对象的属性
System.out.println(days[1].ordinal());//获取枚举对象在枚举列表的位置
System.out.println(days[1].toString());//不重写的情况下,tostring和name方法一致,都是显示枚举对象的名字
}
}
结果是
TUE
星期二
1
TUE
EnumSet和EnumMap的使用
具体用法如下:
EnumSet<Day> set = EnumSet.allOf(Day.class);
EnumMap<Day, String> map = new EnumMap<Day, String>(Day.class);
这两个集合是专门给枚举量身定做的,虽然常规的hashset和hashmap也能支持,但是使用这两个效率更高一些。