java 枚举

发布时间 2023-05-24 17:08:56作者: 黄光跃
/**
 * 埋点模块枚举
 *
 * @author hangy
 */
public enum ModelEnum {
    PROCESS_CONTROL("流程管控", 10),
    TASK_CENTER("任务中心", 20),
    QHSE("QHSE管理", 30),
    DATA_TRANSFER("数字化移交", 40),
    INFO_SHARE("信息共享", 50),
    APP_SYSTEM("应用系统", 60);

    // 属性
    private String name;
    private Integer code;
    
    // 构造方法
    ModelEnum(String name, Integer code) {
        this.name = name;
        this.code = code;
    }

    // getter setter

    /**
     * 工具方法:根据 code 返回 name
     */
    public static String getNameByCode(Integer code){
        for (ModelEnum value : ModelEnum.values()) {
            if (value.getCode() == code.intValue()) {
                return value.getName();
            }
        }
        return null;
    }

    /**
     * 工具方法:校验 name 合法性
     */
    public static boolean checkName(String name){
        for (ModelEnum value : ModelEnum.values()) {
            if (name.contentEquals(value.getName())){
                return true;
            }
        }
        return false;
    }
}