赞
踩
由于使用到泛型,我们需要先定一个基础枚举接口BaseEnum并且定义一个getCode()方法让其他枚举子类实现
/**
* @author: yc
* @des: 公共枚举
* @date: 2023/11/27 17:40
*/
public interface BaseEnum {
/**
* @author: yc
* @des: 获取枚举编码
* @date: 2023/11/27 17:40
*/
String getCode();
}
/** * @author: yc * @des: 枚举工具类 * @date: 2023/11/27 17:41 */ public class EnumUtils { /** * @author: yc * @des: 根据code、枚举类型 获取指定枚举 * @date: 2023/11/27 17:42 */ public static <T extends Enum<T> & BaseEnum> T getValueOf(Class<T> enumClass, String code) { for (T enumBean : enumClass.getEnumConstants()) { if (enumBean.getCode().equals(code)) { return enumBean; } } return null; } }
/** * @author: yc * @des: 文件前缀模式枚举 * @date: 2024/06/07 16:24 */ @Getter @AllArgsConstructor public enum FilePixModeEnum implements BaseEnum{ TIMESTAMP("TIMESTAMP","时间戳"), UUID("UUID","随机字符串"), NONE("NONE","无需前缀"); private String code; private String name; }
FilePixModeEnum filePixModeEnum = EnumUtils.getValueOf(FilePixModeEnum.class, "NONE");
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。