枚举就是一组具名的值的有限集合,可以作为常规组件使用。
1、枚举关键字为enum,声明枚举的类自动继承java.lang.Enum,枚举常用的方法有value(),返回枚举实例的集合;oridinal(),返回实例在枚举中的位置,以0开始;name()返回实例声明时的名字。
2、枚举可以用在switch中。由于枚举继承了java.lang.Enum,枚举不能再继承,只能实现。
3、EnumSet表示枚举集合,它使用了int的标志位,最终操作的只是bit,非常高效。
4、EnumMap是一种特殊的map,它使用枚举为key,底层可以用数组实现,所以也是高效的。
5、enum允许为enum实例编写方法,从而为不同的实例实现不同的行为。具体实现,为enum定义一个abstract方法,在实例内给予不同的实现。如下:
public enum Fruit{
APPLE{
String getInfo(){
return "apple";
}
},
ORANGE{
String getInfo(){
return "orange";
}
},
BANANA{
String getInfo(){
return "banana";
}
}
abstract String getInfo();
}