枚舉
定義:枚舉是一個被命名的整形常數的集合,用于聲明一組帶辨別符的常數。
類似人的性别 男和女,一周的星期隻能是七天中的一個。類似這種當一個變量有幾種固定可能的取值時。就可以将它定義為枚舉類型。
枚舉被設計成是單例模式,即枚舉類型會由JVM在加載的時候,執行個體化枚舉對象,你在枚舉類中定義了多少個就會執行個體化多少個,JVM為了保證每一個枚舉類元素的唯一執行個體,構造函數設計成private,保持唯一性。
以下代碼中:當枚舉類OrderStatusEnumes被JVM加載時,執行個體化枚舉對象,例:UNPAY、CANCEL
注意:枚舉類不能使用lombok的Data注解自動生成getter/setter。
package com.offcn.dycommon.enums;
public enum OrderStatusEnumes {
UNPAY((byte)0,"未支付"),
CANCEL((byte)1,"已取消"),
PAYED((byte)2,"支付成功"),
WAITING((byte)3,"等待發貨"),
SEND((byte)4,"已發貨"),
SENDED((byte)5,"已送達"),
SUCCESS((byte)6,"交易完成"),
FAIL((byte)7,"交易未完成");
private byte code;
private String status;
//get方法 OrderStatusEnumes.UNPAY.getCode() ------------ 0
public byte getCode() {
return code;
}
public String getStatus() {
return status;
}
//初始化時使用
private OrderStatusEnumes(byte code, String status) {
this.code = code;
this.status = status;
}
}