java反射的时候,方法的参数类型是list类型,怎么使用反射执行方法,这个list类型应该怎么表示,请给个示例
时间: 2024-05-14 12:16:44 浏览: 109
java根据方法名称取得反射方法的参数类型示例
利用反射执行方法时,需要使用Method类的invoke方法来执行方法,并将方法需要的参数传递进去。对于List类型的参数,可以使用ArrayList类代表一个List对象,并将List中的元素传递进去。
示例代码如下:
```java
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
public class ReflectTest {
public static void main(String[] args) throws Exception {
List<String> list = new ArrayList<>();
list.add("hello");
list.add("world");
Class<?> clazz = ReflectTest.class;
Method method = clazz.getMethod("testMethod", List.class);
// 使用invoke方法执行方法并传递参数
method.invoke(null, list);
}
public static void testMethod(List<String> list) {
// 输出List中的元素
for (String str : list) {
System.out.println(str);
}
}
}
```
在上述代码中,通过反射获取testMethod方法,并将List对象作为参数传递给该方法。在testMethod中,对List对象进行遍历,并输出其中的元素。
阅读全文