我在嘗試在同一個類中的方法上調用getMethod時遇到NoSuchMethodException,並且沒有從哈希映射中抽取字符串名稱的參數。任何建議,或只給出方法的字符串名稱在同一類中調用方法的另一種方法? 獲得方法的調用是在這裏:Java反射NoSuchMethodException在引用同一類中的方法時
if (testChoices.containsKey(K)) {
String method = testChoices.get(K);
System.out.println(method);
try {
java.lang.reflect.Method m = TST.getClass().getMethod(method);
m.invoke(testChoices.getClass());
} catch (NoSuchMethodException e1) {
// TODO Auto-generated catch block
System.out.println("No method found");
e1.printStackTrace();
} catch (SecurityException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
一個我試圖調用的方法是在這裏:
private static void testgetDomainLic() throws IOException {
,map條目被稱爲是在這裏:
testChoices.put(1, "testgetDomainLic");
靜態方法testgetDomainLic()在TST類中定義,還是在它的超級接口中定義? –
TST只是testgetDomainLic()所在的類的一個實例。 – user8232299
我改變它調用Class.forName直接定義的類,它仍然沒有找到方法。 – user8232299