在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。 [1] 是一个被命名的整型常数的集合,枚举在日常生活中很常见,例如表示星期的SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY就是一个枚举。
简单来说就是一个范围里面的其中一个,用代码来演示的话就是这样的:
**
* 枚举测试类
* @author 何明旺
*/
public enum EnumTest {
MON, TUE, WED, THU, FRI, SAT, SUN;
}
在上面哪一点代码中如同:调用了七次
new Enum(“MON”,0);
new Enum(“TUE”,1);
new Enum(“WED”,2);
public class Test {
public static void main(String[] args) {
for (EnumTest e : EnumTest.values()) {
System.out.println(e.toString());
}
System.out.println("----------------我是分隔线------------------");
EnumTest test = EnumTest.TUE;
switch (test) {
case MON:
System.out.println("今天是星期一");
break;
case TUE:
System.out.println("今天是星期二");
break;
// ... ...
default:
System.out.println(test);
break;
}
}
}
输入结果:
MON
TUE
WED
THU
FRI
SAT
SUN
----------------我是分隔线------------------
今天是星期二
enum 对象的常用方法介绍
int compareTo(E o) :
比较此枚举与指定对象的顺序。
Class getDeclaringClass() :
返回与此枚举常量的枚举类型相对应的 Class 对象。
String name() :
返回此枚举常量的名称,在其枚举声明中对其进行声明。
int ordinal() :
返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。
String toString():
返回枚举常量的名称,它包含在声明中
static
T valueOf(Class enumType, String name)
返回带指定名称的指定枚举类型的枚举常量。
总结:
可以把 enum 看成是一个普通的 class,它们都可以定义一些属性和方法,不同之处是:enum 不能使用 extends 关键字继承其他类,因为 enum 已经继承了 java.lang.Enum(java是单一继承)。