2017-09-10 28 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