枚举概念在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。 是一个被命名的整型常数的集合,枚举在日常生活中很常见,例如表示星期的SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY就是一个枚举。(百度百科)枚举使用例如视频投稿状态:草稿、审核、发布。创一个静态变量类与枚举类//静态常量实体类class Status { // 草稿 public static final int Draft = 1; // 审核 public static final int Review = 2; // 发布 public static final int Published = 3;}//枚举类enum VideoStatus { Draft, Review, Published}class Judge { public static void main(String[] args) { judgeVideoStatus(VideoStatus.Review); judgeStatus(Status.Draft); System.out.println("=====华丽分割线======");// 遍历枚举常量 for (VideoStatus value : VideoStatus.values()) {// 打印枚举数组值 System.out.println(value);// 打印枚举序号 System.out.println(value.ordinal());// 打印枚举常量名 System.out.println(value.name());// 根据字符串名称返回枚举常量 VideoStatus published = VideoStatus.valueOf("Published"); switch (published) { case Review: System.out.println("这是审核"); break; case Draft: System.out.println("这是草稿"); break; case Published: System.out.println("这是发布"); break; } System.out.println(); } } static void judgeVideoStatus(VideoStatus status) { System.out.println(status); } static void judgeStatus(int status) { System.out.println(status); }}以上代码比较下静态常量与枚举,枚举有更明确约束,例如在上述方法judgeVideoStatus中参数枚举类型,你只能写枚举中出现的常量,而在judgeStatus中参数就没相应约束了,想输入什么就输入什么,因此在比较严谨的场合下,枚举比静态常量更有优势。另一方便枚举也支持很多内置方法,使用起来很方便。