@Getter
    @AllArgsConstructor
    public static enum ResultCodeEnum{
    SUCCESS(0, “处理正确”),
    CHECKERROR(1, “数据校验出错”),
    JRMERROR(2, “接入码不对”),
    LENGTHERROR(3, “数据长度不对”),
    OTHERERROR(4, “处理过程出错”);
    int code;
    String msg;
    //根据code返回name
    public static String getMsgInfo(int code) {
    for (ResultCodeEnum temp : ResultCodeEnum.values()) {
    if (code == temp.getCode()) {
    return temp.getMsg();
    }
    }
    return “”;
    }

    }
    //——————————————————————————————————————————
    枚举类型不能继承,但可以实现接口通过接口定义
    public static interface IFieldTypeEnum {
    int getType();
    String getName();
    int getContentLength();
    }
    @Getter
    @AllArgsConstructor
    public static enum DecodeFieldTypeEnum implements SxzdMsgBody.IFieldTypeEnum{
    NETTYPE(1, “网络类型”, 4),
    SBLOCATION_LAC(2, “设备位置信息(LAC ID)”, 4),
    SBLOCATION_CELL(3, “设备位置信息(CELL ID)”, 4),
    SIM(4, “SIM 编号 ICCID”, 12),
    IMSI(5, “国家移动识别码 IMSI(MCC+MNC+MSIN)”, 10);
    int type;
    String name;
    int contentLength;
    }
    @Getter
    @AllArgsConstructor
    public static enum EncodeFieldTypeEnum implements SxzdMsgBody.IFieldTypeEnum{
    FENPINGNUM(1, “液晶表分屏数”, 4),
    TIMEINTERVAL(2, “液晶分屏切屏时间间隔”, 4);
    int type;
    String name;
    int contentLength;
    }
    —如果通过接口定义的公共返回name的方法
    public String getTypeName(IFieldTypeEnum iFieldTypeEnum){
    return iFieldTypeEnum.getName();
    }

    —使用
    getTypeName(DecodeFieldTypeEnum.NETTYPE);
    getTypeName(EncodeFieldTypeEnum.FENPINGNUM);