2017-09-10 38 views
-2

我想通過反射來訪問一個方法,而getMethod()函數需要一個參數類型的類。該參數是一個Class對象,我不確定如何從ArrayList<String>類型獲取此對象。這裏是我當前的代碼,在這裏我想改變String.class如何獲取ArrayList類型的Class對象?

Method m = o.getClass().getMethod(method, String.class); 
+2

你可以給我們簡單地得到了Method你想要調用的方法的代碼?和方法的定義 – azro

+0

對不起,但你的問題還不清楚(至少對我而言)。如果「該參數是一個Class對象」,則傳遞'Class.class'作爲代表所需參數的類型。 「*我不知道如何從ArrayList 類型*中得到這個」「它與ArrayList 有什麼關係? – Pshemo

+0

'method'只是一個包含方法名稱的字符串。作爲例子,該方法的原型如下所示:'public static void Method(ArrayList options);'。如果我_do_使用String類型作爲參數,這將起作用,但我更願意在這種情況下使用ArrayList。 – Sergix

回答

1

爲了您的方法簽名

public static void method(ArrayList<String> options); 

您可以使用

Method m = o.getClass().getMethod(method, ArrayList.class); 
+1

謝謝!這工作。 – Sergix