Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法创建ArrayList的数组<;对象>;元素,将对象列表作为参数传递_Java - Fatal编程技术网

Java 无法创建ArrayList的数组<;对象>;元素,将对象列表作为参数传递

Java 无法创建ArrayList的数组<;对象>;元素,将对象列表作为参数传递,java,Java,这是我的代码,它可以工作: Value[] params2 = {val}; Class<?> clazz = Class.forName("package." + className); Method[] thisMethod = clazz.getMethods(); thisMethod[0].invoke(clazz.newInstance(), new Object[]{params2}); Value[]params2={val}; Class clazz=Class.

这是我的代码,它可以工作:

Value[] params2 = {val};
Class<?> clazz = Class.forName("package." + className);
Method[] thisMethod = clazz.getMethods();
thisMethod[0].invoke(clazz.newInstance(), new Object[]{params2});
Value[]params2={val};
Class clazz=Class.forName(“包”+className);
方法[]thisMethod=clazz.getMethods();
thisMethod[0]。调用(clazz.newInstance(),新对象[]{params2});
但是,当我尝试将“val”对象列表作为参数发送时

List<Value>[] params2 = {valList};
List[]params2={valList};
我得到: '无法创建列表错误的通用数组'


如何将val对象列表作为参数传递?

您需要传递一个参数数组来反射地调用方法,而不是传递一个参数列表。如果您有一个
列表
,请使用它的
toArray()
方法。

列表[]
表示此数组的成员是列表的数组。例如,
{new ArrayList()}
就是实例。如果您的方法将列表作为参数,那么就是这样。否则,您应该将参数列表转换为数组,因为Java反射API就是这样设计的