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