您当前的位置: 首页 >  Java

qq_34412985

暂无认证

  • 2浏览

    0关注

    1061博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

JAVA枚举操作(获取值,转map集合)

qq_34412985 发布时间:2019-05-15 18:24:24 ,浏览量:2

JAVA枚举相对来说比.NET的枚举功能强大,感觉就像是一种简化版的类对象,可以有构造方法,可以重载,可以继承接口等等,但不能继承类,JAVA枚举在实际开发中应用相当频繁,以下几个封装方法在实际开发中可能用到,希望对新手有些帮助。

首先,新建一个枚举接口,为保证所有继承此接口的枚举value及description一致,便于开发使用,枚举统一接口如下。

public interface EnumCommon {     public int getValue();     public String getDescription(); }

建立测试的枚举对象,此枚举继承上述接口,如下所示:

public enum TestEnum implements EnumCommon {     AAA(1, "描述AAA"), BBB(2, "描述BBB"), CCC(3, "描述CCC"), DDD(4, "描述DDD") /*,EEEE8*/;     private int value;  //枚举value字段     private String description; //枚举描述字段     @Override     public int getValue() {         return value;     }     @Override     public String getDescription() {         return description;     }     //private TestEnum() {}     TestEnum(int value,String description){ //构造初始化赋值         this.description=description;         this.value=value;     } }

建立枚举时,如果存在没有value和description的枚举属性,必须要有无参构造方法,不定参数的要存在相应不定参数的构造方法。 接下来就到真正的工具方法了,首先一个公用方法,通过方法名称获取返回值,如下所示:

    /**      * 根据反射,通过方法名称获取方法值,忽略大小写的      * @param methodName      * @param obj      * @param args      * @return return value      */     private static Object getMethodValue(String methodName, T obj,             Object... args) {         Object resut = "";         // boolean isHas = false;         try {             /********************************* start *****************************************/             Method[] methods = obj.getClass().getMethods(); //获取方法数组,这里只要共有的方法             if (methods.length

关注
打赏
1653291990
查看更多评论
立即登录/注册

微信扫码登录

0.0405s