美文网首页
Java 反射 根据方法名动态调用方法

Java 反射 根据方法名动态调用方法

作者: 那只媛 | 来源:发表于2019-01-24 16:35 被阅读0次

    最近在写一个数据接口,业务宽表有60几个字段,在生成mysql表对应的实体类时可以借助idea的datasource工具导出成员变量,这倒是方便了不少。但是随后在接口输出对象时,遇到了成员变量的动态选择问题,因为有时候只需要几个成员变量的值,如果整个对象所有成员变量生成json会造成不必要的字段填充。这块就想到了根据成员变量名字,运用反射机制动态调用成员函数。比起整个类的反射,这个相对简单。

    //参数instance可以随便传需要的对象实例,methodName是类的public方法名
    private Object getMethodO(Object instance, String methodName) {
           try {
               Method get = instance.getClass().getMethod(methodName);
               Object result = get.invoke(instance);
               return result;
           } catch (Exception e) {
               logger.error(e.getMessage());
           }
           return null;
       }
    

    相关文章

      网友评论

          本文标题:Java 反射 根据方法名动态调用方法

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