Enum类型是java5新增的特性,它是一种新的类型。允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。可以让我们抛弃所有旧的 public static final 代码。
1.枚举的简单举例:
2.枚举的复杂举例package com.wmlp.yongchun; /** *@author come from wmlp's yongchun.chengyc * 2011-7-20 下午11:14:23 **/ public class EnumDemo { private enum Days{MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY}; public static void main(String[] args) { for(Days day:Days.values()){ switch (day) { case MONDAY: System.out.println("这是星期一"); break; case TUESDAY: System.out.println("这是星期二"); break; case WEDNESDAY: System.out.println("这是星期三"); break; case THURSDAY: System.out.println("这是星期四"); break; case FRIDAY: System.out.println("这是星期五"); break; case SATURDAY: System.out.println("这是星期六"); break; case SUNDAY: System.out.println("这是星期日"); break; default: break; } } } }
package com.wmlp.yongchun; /** *@author come from wmlp's yongchun.chengyc * 2011-7-20 下午11:42:48 **/ public enum MyStatus { UNASSIGN(0, "已报名"), PASS(1, "审核通过"), REJECT(2, "审核不通过"), ASSIGNED(3, "已报名"), HIS(4, "历史数据"), WAITCM(5, "待CM审核"), WAITSEND(6, "待寄样"), COLLECT_MATERIAL(7, "待收集材料(资质审核)"), LACK_MATERIAL(8, "材料不全"), INDUSTRY_AUDIT(9, "待行业审核"), WAIT_PAY(10, "待付款"), WAIT_AUDIT(11, "待认证"), THROUGH_AUDIT(12, "认证通过"), THROUGH_AUDIT_FAILED(13, "认证不通过"); private int status; private String name; private MyStatus(int status, String name) { this.status = status; this.name = name; } public int getStatus() { return status; } public String getName() { return name; } public static String getName(int status) { switch (status) { case 0: return UNASSIGN.getName(); case 1: return PASS.getName(); case 2: return REJECT.getName(); case 3: return ASSIGNED.getName(); case 4: return HIS.getName(); case 5: return WAITCM.getName(); case 6: return WAITSEND.getName(); case 7: return COLLECT_MATERIAL.getName(); case 8: return LACK_MATERIAL.getName(); case 9: return INDUSTRY_AUDIT.getName(); case 10: return WAIT_PAY.getName(); case 11: return WAIT_AUDIT.getName(); case 12: return THROUGH_AUDIT.getName(); case 13: return THROUGH_AUDIT_FAILED.getName(); default: return " "; } } }