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就是这样设计的