在JDK5.0之后,引进了一种与C语言相通的枚举类型. 所谓枚举类型就是指含有一组具有固定值, 并且容量有限的数据集合.
例如,定义一个星期的枚举类型, 从周一到周日是具有固定大小和固定值的集合
public enum Week{
Monday ,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
可以这样引用枚举中的数据:
Week w = Week.Friday;
System.out.println(w);
此外, 枚举类型还有2个静态方法 values() 和valuesOf() ;
for (Week w2 : Week.values()) {
System.out.println(w2);
}
values()方法,返回一个包含全部枚举值的数组;
valueOf()是toString 的逆方法, Week tuesday = Enum.valueOf(Week.class, "Tuesday"); 将tuesday 设置成 Week.Tuesday.
更多参考 JDK API
构造方法摘要 | |
---|---|
protected |
Enum(String name, int ordinal) 单独的构造方法。 |
方法摘要 | ||
---|---|---|
protected Object |
clone() 抛出 CloneNotSupportedException。 |
|
int |
compareTo(E o) 比较此枚举与指定对象的顺序。 |
|
boolean |
equals(Object other) 当指定对象等于此枚举常量时,返回 true。 |
|
protected void |
finalize() 枚举类不能有 finalize 方法。 |
|
Class<E> |
getDeclaringClass() 返回与此枚举常量的枚举类型相对应的 Class 对象。 |
|
int |
hashCode() 返回枚举常量的哈希码。 |
|
String |
name() 返回此枚举常量的名称,在其枚举声明中对其进行声明。 |
|
int |
ordinal() 返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。 |
|
String |
toString() 返回枚举常量的名称,它包含在声明中。 |
|
static
|
valueOf(Class<T> enumType,String name) 返回带指定名称的指定枚举类型的枚举常量。 |