如何调用使用Reflection接受Map作为输入参数的私有方法?

时间:2013-10-03 03:23:26

标签: java reflection map

我正在尝试使用反射来调用我的一个类中的私有Method,它也接受Map参数。

以下是我应该调用的方法,以下方法位于ReflectionTest

private static Map<String, String> storageSort(final List<Map<String, String>> employeeList) {

}

我这样称呼上述方法:

ReflectionTest io = new ReflectionTest();
Method m = ReflectionTest.class.getDeclaredMethod("storageSort", Map.class);
m.setAccessible(true); 
Object o = m.invoke(io, sortList);

但以下是我每次都会得到的例外情况:

  

java.lang.NoSuchMethodException:   com.reflection.test.ReflectionTest.storageSort(java.util.Map)

我不确定我在这里做错了什么?

1 个答案:

答案 0 :(得分:5)

您的方法显然需要List参数。

Method m = Main.class.getDeclaredMethod("storageSort", List.class);