Java
/**
* @Auther: wirechen
* @Date: 2019/4/26 16:31
* @Description: 请先看EnumUtil.java
*/
public interface CodeEnum {
Integer getCode();
}
/**
* @Auther: wirechen
* @Date: 2019/4/26 16:41
* @Description: 只要集成了CodeEnum的枚举类就可以用该方法查询
*/
public class EnumUtil {
public static <T extends CodeEnum> T findByCode(Integer code, Class<T> enumClass) {
for (T t : enumClass.getEnumConstants()) {
if (code.equals(t.getCode())) {
return t;
}
}
throw new RuntimeException("通过code查不到");
}
public static <T extends CodeEnum> T findByCode(Integer code, Class<T> enumClass, Integer defaultCode) {
if (code == null) {
return findByCode(defaultCode, enumClass);
}
for (T t : enumClass.getEnumConstants()) {
if (code.equals(t.getCode())) {
return t;
}
}
return findByCode(defaultCode, enumClass);
}
}
int type = 1;
SaleEnum statusEnum = EnumUtil.findByCode(type, SaleEnum.class);