gpt4 book ai didi

java - 使用对象列表调用方法

转载 作者:行者123 更新时间:2023-12-01 12:45:59 26 4
gpt4 key购买 nike

此代码允许我调用带有测试参数的方法

Method m = aClass.getDeclaredMethod(methodName, paramTypes);
Integer n =10;
Object retobj =m.invoke(o, "test",n);
System.out.println(retobj);

现在我想使用参数列表调用该方法。

List<Object> arguments =container.getArgs();
Object retobj =m.invoke(o, (Object) arguments);

但我收到此错误

java.lang.IllegalArgumentException: wrong number of arguments

最佳答案

invoke method接受两个参数:调用方法的对象,以及保存参数的“varargs”参数。

这样的参数(也称为“变量元数”)可以与数组互换,并且在此类方法的主体中将其视为数组。

转换您的List<Object>到一个数组,然后将其传入。

Object retobj = m.invoke(o, arguments.toArray());

关于java - 使用对象列表调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24704931/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com