以下是方法的這兩種情況下,其我調用使用反射錯誤而通過反射調用方法
actualoutput = mgenerateouput.invoke(outputclassinst,obj);
obj
被Object
陣列類型包含在obj[0]
案例Section
Type對象1:
public Student[] expectedOutputString(Section sec){
//Object arra[] = Section.makeSection((String[])params[0]);
ReportCard rc = new ReportCard();
Student[] exOut = rc.orderClass(sec);
return exOut;
}
它的工作在第一種情況下PERF ECT但在當我聲明參數類型爲Object
下面第二殼體我得到IllegalArgumentException
。
情況2:
public Student[] expectedOutputString(Object params[]){
//Object arra[] = Section.makeSection((String[])params[0]);
ReportCard rc = new ReportCard();
Student[] exOut = rc.orderClass((Section)params[0]);
return exOut;
}
[
它應該是在情況2 rc.orderClass((Section)params [0]);不是第二個 – Zavael 2012-03-13 08:21:53
哪條線投擲IAE? – 2012-03-13 08:26:29
actualoutput = mgenerateouput.invoke(outputclassinst,obj); – 2012-03-13 08:28:52