我有這樣Java反射不正常
final Method method = XYZClass.class.getDeclaredMethod(METHOD_NAME, new Class[] {List.class, List.class});
method.setAccessible(true);
final List<Integer> output = (List<Integer>) method.invoke(METHOD_NAME, new Object[] {inputRecords, foo});
inputRecords代碼爲對象的列表和foo是一個對象。
我得到的對象不是一個聲明類的實例。
如果foo是一個對象(即不是List的一個實例),方法調用(一旦用Jon Skeet的建議修復)將引發異常。 –
反射*是*正常工作,您錯誤地使用它,您的method.invoke()語句具有錯誤的第一個參數。 –