枚举概念
在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。 是一个被命名的整型常数的集合,枚举在日常生活中很常见,例如表示星期的 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 中参数就没相应约束了,想输入什么就输入什么,因此在比较严谨的场合下,枚举比静态常量更有优势。另一方便枚举也支持很多内置方法,使用起来很方便。
目录
枚举概念
枚举使用
目录
枚举概念
枚举使用