枚举类

public enum Size { SMALL, MEDIUM, LARGE, EXTRA_LARGE };
实际上,这个声明定义的类型是一个类
因此, 在比较两个枚举类型的值时它刚好有4个实例,在此尽量不要构造新对象。永远不需要调用 equals, 而直接使用"==" 就可以了。
如果需要的话, 可以在枚举类型中添加一些构造器、方法和域。 当然, 构造器只是在构造枚举常量的时候被调用。
所有的枚举类型都是 Enum 类的子类。 它们继承了这个类的许多方法。 其中最有用的一 个是 toString, 这个方法能够返回枚举常量名。例如,
Size.SMALL.toString()
将返回字符串"SMALL" 。
toString 的逆方法是静态方法 valueOf。例如,
Size s = Enum.valueOf(Size.class, "SMALL");
将 s 设置成 Size.SMALL。每个枚举类型都有一个静态的 values 方法, 它将返回一个包含全部枚举值的数组。 例如,
ordinal 方法返回 enum 声明中枚举常量的位置, 位置从 0 开始计数。如同 Class 类一样, 鉴于简化的考虑, Enum 类省略了一个类型参数。 应该将枚举类型 Size扩展为Enum 。 类型参数在 compareTo 方法中使用
int compareTo(E other):
如果枚举常量出现在other之前 则返回一个负值;如果this==other, 则返回O; 否则,返回正值。 枚举常量的出现次序在enum声明中给出。