学习

需求:根据枚举code去获取枚举的message

本以为可以直接获取,但找了一圈并没有发现,最后网查出需要写一个工具类.

1、定义一个CodeEnum接口,供所有枚举实现,以便重写公用方法;

public interface CodeEnum {

    Integer getCode();

    String getMsg();
}

2、枚举实现CodeEnum接口,并重写方法

@Getter
public enum LavelEnum implements CodeEnum {

    LAVEL_VETERAN(1,"老兵");

    private Integer code;
    private String msg;

    LavelEnum(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }
}

3、定义枚举工具类

public class MyEnumUtil {

    public static <T extends CodeEnum> String getByCode(Integer code, Class<T> t){
        for(T item: t.getEnumConstants()){
            if(item.getCode().equals(code)){
                return item.getMsg();
            }
        }
        return "";
    }
}

4、最后业务调用

posted @ 2021-06-04 11:58  YuXuanTM  阅读(34)  评论(0)    收藏  举报