枚举规范
- public interface BaseEnum {
- String getCode();
- String getDesc();
- }
复制代码 枚举工具类
- public class BaseEnumUtil {
- /**
- * 获取实例
- *
- * @param enumClass
- * @param code
- * @return
- * @param <E>
- */
- public static <E extends BaseEnum> E getInstance(Class<E> enumClass, String code) {
- for (E e : enumClass.getEnumConstants()) {
- if (e.getCode().equals(code)) {
- return e;
- }
- }
- throw new IllegalArgumentException("No enum constant " + enumClass.getCanonicalName() + " with code " + code);
- }
- /**
- * 获取实例描述
- *
- * @param code
- * @return
- * @param <E>
- */
- public static <E extends BaseEnum> String getInstanceDesc(Class<E> clazz, String code) {
- return getInstance(clazz, code).getDesc();
- }
- /**
- * 校验code是否合法
- *
- * @param code
- * @return
- * @param <E>
- */
- public static <E extends BaseEnum> Boolean isValidCode(Class<E> enumClass, String code) {
- for (E e : enumClass.getEnumConstants()) {
- if (e.getCode().equals(code)) {
- return true;
- }
- }
- return false;
- }
- }
复制代码 测试
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |