我有一个方法:
static double sum(double[] out, int numberVerticies) {}
我正在尝试使用反射对其进行单元测试。我一直得到NoSuchMethodException。
我认为这是因为我传入的args与该方法不匹配。
这是我的测试方法:
@Test
void sum(){
double[] out ={1,2,3,4};
int numberVerticies = 4;
Class[] args = new Class[]{Array.class,Integer.TYPE};
Object[] params = new Object[]{out,numberVerticies};
try {
Method sum = reflectClass.getDeclaredMethod("sum", args);
sum.setAccessible(true);
double returnValue = (double) sum.invoke(pageRank,params);
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
我认为正是这条线导致了这个问题:
Class[] args = new Class[]{Array.class,Integer.TYPE};
什么类型或类是double []。