Java enum 的多种解决。
- public?class?StatusWithoutEnums?{ ????
- ????public?static?final?int?STATUS_OPEN?=?0; ??????public?static?final?int?STATUS_STARTED?=?1; ??
- ????public?static?final?int?STATUS_INPROGRESS?=?2; ??????public?static?final?int?STATUS_ONHOLD?=?3; ??
- ????public?static?final?int?STATUS_COMPLETED?=?4; ??????public?static?final?int?STATUS_CLOSED?=?5; ??
- ??}??
?
- public?class?RequestStatus?{ ????
- ????private?final?int?status; ????
- ????private?RequestStatus(int?aStatus){ ??????????this.status?=?aStatus; ??
- ????} ????
- ????public?static?final?RequestStatus?STATUS_OPEN?=?new?RequestStatus(0); ??????public?static?final?RequestStatus?STATUS_STARTED?=?new?RequestStatus(1); ??
- ????public?static?final?RequestStatus?STATUS_INPROGRESS?=?new?RequestStatus(2); ??????public?static?final?RequestStatus?STATUS_ONHOLD?=?new?RequestStatus(3); ??
- ????public?static?final?RequestStatus?STATUS_COMPLETED?=?new?RequestStatus(4); ??????public?static?final?RequestStatus?STATUS_CLOSED?=?new?RequestStatus(5); ??
- ??}??
?
- public?class?ReqStatus?{ ????
- ????public?enum?Status{ ??????????STATUS_OPEN, ??
- ????????STATUS_STARTED, ??????????STATUS_INPROGRESS, ??
- ????????STATUS_ONHOLD, ??????????STATUS_COMPLETED, ??
- ????????STATUS_CLOSED; ??????} ??
- ??????public?static?void?main(String[]?args){ ??
- ????????for?(Status?stat:?Status.values()){ ??????????????System.out.println(stat); ??
- ????????} ??????} ??
- }??
?
?
- public?class?StatusExample1?{ ????
- ????public?enum?Status{ ??????????STATUS_OPEN(0), ??
- ????????STATUS_STARTED(1), ??????????STATUS_INPROGRESS(2), ??
- ????????STATUS_ONHOLD(3), ??????????STATUS_COMPLETED(4), ??
- ????????STATUS_CLOSED(5); ????
- ????????private?final?int?status; ????
- ????????Status(int?aStatus){ ??????????????this.status?=?aStatus; ??
- ????????} ??????????public?int?status(){ ??
- ????????????return?this.status; ??????????} ??
- ????}??? ????
- ????public?static?void?main(String[]?args){ ??????????for?(Status?stat:?Status.values()){ ??
- ????????????System.out.println(stat?+?"value?is?"+?new?Integer(stat.status())); ??????????} ??
- ????} ??}??
?
- public?class?StatusExample2?{ ????
- ????public?enum?Status{ ??????????STATUS_OPEN(0,?"open"), ??
- ????????STATUS_STARTED(1,?"started"), ??????????STATUS_INPROGRESS(2,?"inprogress"), ??
- ????????STATUS_ONHOLD(3,?"onhold"), ??????????STATUS_COMPLETED(4,?"completed"), ??
- ????????STATUS_CLOSED(5,?"closed"); ????
- ????????private?final?int?status; ??????????private?final?String?description; ??
- ??????????Status(int?aStatus,?String?desc){ ??
- ????????????this.status?=?aStatus; ??????????????this.description?=?desc; ??
- ????????} ??????????public?int?status(){ ??
- ????????????return?this.status; ??????????} ??
- ????????public?String?description(){ ??????????????return?this.description; ??
- ????????} ??????}??? ??
- ??????public?static?void?main(String[]?args){ ??
- ????????for?(Status?stat:?Status.values()){ ??????????????System.out.println(stat?+?"value?is?"+?new?Integer(stat.status())?+?"?desc?is?"?+?stat.description()); ??
- ????????} ??????} ??
- }??
?
- import?java.io.Serializable; ????
- public?class?StatusExample3?{ ????
- ????public?enum?Status?implements?Serializable{ ??????????STATUS_OPEN(0,?"open"), ??
- ????????STATUS_STARTED(1,?"started"), ??????????STATUS_INPROGRESS(2,?"inprogress"), ??
- ????????STATUS_ONHOLD(3,?"onhold"), ??????????STATUS_COMPLETED(4,?"completed"), ??
- ????????STATUS_CLOSED(5,?"closed"); ????
- ????????private?final?int?status; ??????????private?final?String?description; ??
- ??????????Status(int?aStatus,?String?desc){ ??
- ????????????this.status?=?aStatus; ??????????????this.description?=?desc; ??
- ????????} ??????????public?int?status(){ ??
- ????????????return?this.status; ??????????} ??
- ????????public?String?description(){ ??????????????return?this.description; ??
- ????????} ????
- ????} ??}??
?
- public?class?StatusExample4?{ ????
- ????public?enum?Status{ ??????????STATUS_OPEN(0,?"open"), ??
- ????????STATUS_STARTED(1,?"started"), ??????????STATUS_INPROGRESS(2,?"inprogress"), ??
- ????????STATUS_ONHOLD(3,?"onhold"), ??????????STATUS_COMPLETED(4,?"completed"), ??
- ????????STATUS_CLOSED(5,?"closed"); ????
- ????????private?final?int?status; ??????????private?final?String?description; ??
- ??????????Status(int?aStatus,?String?desc){ ??
- ????????????this.status?=?aStatus; ??????????????this.description?=?desc; ??
- ????????} ??????????public?int?status(){ ??
- ????????????return?this.status; ??????????} ??
- ????????public?String?description(){ ??????????????return?this.description; ??
- ????????} ????
- ????????public<STATUS>?int?compareTo(Status?obj){ ??????????????return?0; ??
- ????????} ??????} ??
- }??
- public?class?StatusExample5?{ ????
- ????public?enum?Status{ ??????????STATUS_OPEN ??
- ????????{ ??????????????public?String?description(){ ??
- ????????????????return?"open"; ??????????????} ??
- ????????}, ??????????STATUS_STARTED ??
- ????????{ ??????????????public?String?description(){ ??
- ????????????????return?"started"; ??????????????} ??
- ????????}, ??????????STATUS_INPROGRESS ??
- ????????{ ??????????????public?String?description(){ ??
- ????????????????return?"inprogress"; ??????????????} ??
- ????????}, ??????????STATUS_ONHOLD ??
- ????????{ ??????????????public?String?description(){ ??
- ????????????????return?"onhold"; ??????????????} ??
- ????????}, ??????????STATUS_COMPLETED ??
- ????????{ ??????????????public?String?description(){ ??
- ????????????????return?"completed"; ??????????????} ??
- ????????}, ??????????STATUS_CLOSED ??
- ????????{ ??????????????public?String?description(){ ??
- ????????????????return?"closed"; ??????????????} ??
- ????????}; ????
- ????????Status(){ ??????????} ??
- ??????????public?abstract?String?description(); ??
- ??????} ??
- ????public?static?void?main(String[]?args){ ??????????for?(Status?stat:?Status.values()){ ??
- ????????????System.out.println(stat?+?"?desc?is?"?+?stat.description()); ??????????} ??
- ????} ????
- }??
?
- public?class?StatusExample6{ ????
- ????public?enum?Status{ ??????????STATUS_OPEN(0,?"open"), ??
- ????????STATUS_STARTED(1,?"started"), ??????????STATUS_INPROGRESS(2,?"inprogress"), ??
- ????????STATUS_ONHOLD(3,?"onhold"), ??????????STATUS_COMPLETED(4,?"completed"), ??
- ????????STATUS_CLOSED(5,?"closed"); ????
- ????????private?final?int?status; ??????????private?final?String?description; ??
- ??????????Status(int?aStatus,?String?desc){ ??
- ????????????this.status?=?aStatus; ??????????????this.description?=?desc; ??
- ????????} ??????????public?int?status(){ ??
- ????????????return?this.status; ??????????} ??
- ????????public?String?description(){ ??????????????return?this.description; ??
- ????????} ??????} ??
- ??????private?static?void?checkStatus(Status?status){ ??
- ????????switch(status){ ??????????????case?STATUS_OPEN: ??
- ????????????????System.out.println("This?is?open?status"); ??????????????case?STATUS_STARTED: ??
- ????????????????System.out.println("This?is?started?status"); ??????????????case?STATUS_INPROGRESS: ??
- ????????????????System.out.println("This?is?inprogress?status"); ??????????????case?STATUS_ONHOLD: ??
- ????????????????System.out.println("This?is?onhold?status"); ??????????????case?STATUS_COMPLETED: ??
- ????????????????System.out.println("This?is?completed?status"); ??????????????case?STATUS_CLOSED: ??
- ????????????????System.out.println("This?is?closed?status"); ??????????} ??
- ??????} ??
- ??????public?static?void?main(String[]?args){ ??
- ????????checkStatus(Status.STATUS_CLOSED); ??????} ??
- ??}??