public class EnumUtil { public static <T extends CodeEnum> T getByCode(Integer code, Class<T> enumClass) { for (T each: enumClass.getEnumConstants()) { if (code.equals(each.getCode())) { return each; } } return null; } }
/ ** * 枚举类的父级接口 */ public interface CodeEnum { Integer getCode(); }
2.所有的enum需要实现CodeEnum接口
public enum NoticeEnum implements CodeEnum { TEST1(1,"成功"), TEST2(2,"失败"); private int code; private String msg; NoticeEnum(int code, String msg) { this.code = code; this.msg = msg; } public String getMsg() { return msg; } @Override public Integer getCode() { return code; } }
3.调用
String msg = EnumUtil.getByCode(1, NoticeEnum.class);
//输出结果
成功
