计算机里面的枚举,以及 java里面的枚举

2019-04-14 15:28发布

在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。 [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是单一继承)。