SpringBoot中定义枚举规范和枚举工具类

饭宝  论坛元老 | 2024-12-29 20:34:41 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1041|帖子 1041|积分 3123

枚举规范

  1. public interface BaseEnum {
  2.     String getCode();
  3.     String getDesc();
  4. }
复制代码
枚举工具类

  1. public class BaseEnumUtil {
  2.     /**
  3.      * 获取实例
  4.      *
  5.      * @param enumClass
  6.      * @param code
  7.      * @return
  8.      * @param <E>
  9.      */
  10.     public static <E extends BaseEnum> E getInstance(Class<E> enumClass, String code) {
  11.         for (E e : enumClass.getEnumConstants()) {
  12.             if (e.getCode().equals(code)) {
  13.                 return e;
  14.             }
  15.         }
  16.         throw new IllegalArgumentException("No enum constant " + enumClass.getCanonicalName() + " with code " + code);
  17.     }
  18.     /**
  19.      * 获取实例描述
  20.      *
  21.      * @param code
  22.      * @return
  23.      * @param <E>
  24.      */
  25.     public static <E extends BaseEnum> String getInstanceDesc(Class<E> clazz, String code) {
  26.         return getInstance(clazz, code).getDesc();
  27.     }
  28.     /**
  29.      * 校验code是否合法
  30.      *
  31.      * @param code
  32.      * @return
  33.      * @param <E>
  34.      */
  35.     public static <E extends BaseEnum> Boolean isValidCode(Class<E> enumClass, String code) {
  36.         for (E e : enumClass.getEnumConstants()) {
  37.             if (e.getCode().equals(code)) {
  38.                 return true;
  39.             }
  40.         }
  41.         return false;
  42.     }
  43. }
复制代码
测试



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

饭宝

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表