package com.ztocc.ccuniqueid.common.utils;
import com.ztocc.ccuniqueid.common.enums.CodeEnum;
/**
* @author keying
* @date 2022-05-14 22:32:26
*/
public class EnumUtil {
/**
* 通过 code 获取 name
* @param code
* @param enumClass
* @param <T>
* @return
*/
public static <T extends CodeEnum> T getByCode(String code, Class<T> enumClass) {
//通过反射取出Enum所有常量的属性值
for (T each: enumClass.getEnumConstants()) {
//利用code进行循环比较,获取对应的枚举
if (code.equals(each.getCode())) {
return each;
}
}
return null;
}
public static <T extends CodeEnum> T getByName(String name, Class<T> enumClass) {
//通过反射取出Enum所有常量的属性值
for (T each: enumClass.getEnumConstants()) {
//利用code进行循环比较,获取对应的枚举
if (name.equals(each.getName())) {
return each;
}
}
return null;
}
}
package com.ztocc.ccuniqueid.common.enums;
/**
* @author keying
* @date 2022-05-14 22:33:20
*/
public interface CodeEnum<T> {
T getCode();
T getName();
}