枚举

枚举类

 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也能支持,但是使用这两个效率更高一些。

 

posted @ 2017-02-08 22:41  TP000  阅读(151)  评论(0编辑  收藏  举报