java通过反射调用有参数的方法
文章轉發:https://www.cnblogs.com/xiaoyu1994/p/8583993.html
感謝大佬 :步步丶驚云
工作中用到了反射傳遞參數,做下筆記
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( );
}
}
總結
以上是生活随笔為你收集整理的java通过反射调用有参数的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: KS函数
- 下一篇: http代表的是什么?http代表的是什