package com.wen;

import java.util.HashMap;
import java.util.Map;

public enum Color {

    RED(10), GREEN(20), YELLOW(30), BLUE(40);

    private int code;

    Color(int code) {
        this.code = code;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    private static Map<Integer, Color> colorByCode = new HashMap<>();

    static {
        for(Color color : Color.values()){
            colorByCode.put(color.getCode(), color);
        }
    }

    public static Color getByCode(int code){
        return colorByCode.get(code);
    }

}

注意枚举的变量以分号结尾,想要给枚举变量赋值需要定义构造函数,code为枚举的值