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( );
}
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM