java通过反射调用有参数的方法

public static void eachCfg(Class Initclass,String taskType){

Field[] fields = Initclass.getDeclaredFields(); //获取属性
try {
    for (Field field : fields) {
field.setAccessible(true);
if(field.getType().toString().endsWith("java.lang.String") && Modifier.isStatic(field.getModifiers())){}
             if(field.get(TicketGetKeyPojo.class) == null){
        String attrname = field.getName();
       attrname = attrname.toLowerCase();
       Object [] paras = {attrname,taskType};
          //调用
getDeclaredMethod方法时
          //参数1:调用改类的方法名称
          //参数2:参数列表1中的参数类型
          //参数3:参数列表中2的参数类型
          //getSimpleName 方法获得不带路径的类名称
              Method method = Initclass.getDeclaredMethod("check"+Initclass.getSimpleName(),String.class,String.class);
       //
invoke方法
          //参数1:类的实例方法
          //参数2:调用上面的方法的参数值(注意顺序)
          method.invoke(Initclass.newInstance(),paras);
          }
      }
}
  } catch (Exception e) {
e.printStackTrace( );
}
}
原文地址:https://www.cnblogs.com/xiaoyu1994/p/8583993.html