1、枚举
public enum mm{
AA,BB,CC,DD
}
Enum枚举定义好之后,经过编译后,会变成一个类,类里面包含了所有的枚举常量,对于每个枚举常量,主要包含了2个内容:name 和 ordinal,name就是名字,比如上面的 AA,BB 这些就是名字, ordinal 是 int 类型,存储的是位置,枚举里的常量的ordinal 是从 0 开始的,比如上面 AA 的 ordinal 是 0, BB 的 ordinal 是 1。枚举常量之间的比较也是比较的 ordinal 值。
编译器会自动地位枚举类型添加一些有用的特性。toString()方法、ordinal()方法、values()方法。
toString()方法是在enum类型实例被当做String类处理的时候,发挥作用。
ordinal()方法是将enum的几个常量定义了顺序,默认情况下(当常量没有被明确赋值时),AA的值0,BB的值是1,依次加1。
values()方法是将enum的几个常量产生出一个数组,按照ordinal的顺序。
for(mm n : mm.values()){
System.out.println(n.ordinal());
}
输出:0,1,2,3
EnumSet