美文网首页
Java中自定义枚举工具类,根据枚举类code获取msg

Java中自定义枚举工具类,根据枚举类code获取msg

作者: 天不生我小金 | 来源:发表于2019-07-30 17:23 被阅读0次

    前言:该博客主要是记录自己学习的过程,方便以后查看,当然也希望能够帮到大家。

    本人开发过程中遇到的问题,类似map获取数据的方式,根据枚举类code获取msg。

    第一步,定义CodeEnum接口,需要枚举类实现该接口,如下

    public interface CodeEnum {
    
        Integer getCode();
    
        String getMsg();
    }
    

    第二步,创建自定义枚举类CustomEnum,实现CodeEnum接口,如下

    public enum CustomEnum implements CodeEnum {
        
        SUCCESS(1,"请求成功"),
        
        FAIL(0,"请求失败")
        ;
    
        private Integer code;
        private String msg;
    
        CustomEnum(Integer code, String msg) {
            this.code = code;
            this.msg = msg;
        }
    
        @Override
        public Integer getCode() {
            return code;
        }
    
        @Override
        public String getMsg() {
            return msg;
        }
    }
    

    第三步,创建枚举工具类EnumUtil,如下

    public class EnumUtil {
        public static <T extends CodeEnum> String getByCode(Integer code, Class<T> t){
            for(T item: t.getEnumConstants()){
                if(item.getCode() == code){
                    return item.getMsg();
                }
            }
            return "";
        }
    }
    

    第四步,具体代码调用方式如下,结果如下图

    @Test
    public void testEnumUtil() {
        log.info("测试中!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
        String msg = EnumUtil.getByCode(CustomEnum.SUCCESS.getCode(), CustomEnum.class);
    }
    
    1.jpg

    后记:本次分享到此结束,本人水平有限,难免有错误或遗漏之处,望大家指正和谅解,欢迎评论留言。

    相关文章

      网友评论

          本文标题:Java中自定义枚举工具类,根据枚举类code获取msg

          本文链接:https://www.haomeiwen.com/subject/kjnnrctx.html