//应用案例
import java.util.HashMap;
import java.util.Map;
public enum InvoiceStatusEnum {
UNSET(-1, "未知"),
HANDLED(1, "等待处理"),
COMPLETED(2, "处理完成"),
;
private int code;
private String description;
private static Map<Integer, InvoiceStatusEnum> CodeMap;
static {
CodeMap = new HashMap<Integer, InvoiceStatusEnum>();
InvoiceStatusEnum[] values = InvoiceStatusEnum.values();
for (InvoiceStatusEnum value : values) {
CodeMap.put(value.getCode(), value);}
}
public static InvoiceStatusEnum fromCode(int code){
if(CodeMap.containsKey(code)){//如果存在key就返回否则未知
return CodeMap.get(code);
}
return InvoiceStatusEnum.UNSET;
}
private InvoiceStatusEnum(int code,String description){
this.code = code;
this.description = description;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
//相应基础知识
public class TestMain
{
{
System.out.println("对象块");
}
static
{
System.out.println("静态块");
}
// 构造方法的调用是在new 对象()时才会调用
// 在声明时是会调用对象{}
public TestMain()
{
System.out.println("构造器");
}
public static void main(String[] args)
{
TestMain t = null;
t = new TestMain();
}
}
执行结果:静态块、对象块、构造器