Enum類型是java5新增的特性,它是一種新的類型。允許用常量來表示特定的數據片斷,而且全部都以類型安全的形式來表示。可以讓我們拋棄所有舊的 public static final 代碼。
1.枚舉的簡單舉例:
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; } } } }
2.枚舉的複雜舉例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 " "; } } }