如何使用任意数量的参数调用Method.invoke?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用任意数量的参数调用Method.invoke?相关的知识,希望对你有一定的参考价值。

我正在构建一个系统,用户可以在其中键入方法名称到文本文件中,java程序将解析它,调用与键入的方法名称对应的单独类中的方法。用户还会在文件中键入方法的所有参数。使用Class.getMethods,我知道所需方法所采用的参数的类型和数量。我不知道如何在给定方法所采用的参数数量(可以是任何数字)的情况下使用正确数量的参数调用Method.invoke。提前致谢

答案

提供一个Object[]数组作为Method.invoke的第二个参数。

...是该类型数组的语法糖,它是被调用方法实际接收值的方式。

相反,如果你真的想要为方法提供Object[],这可能会有问题,因为你需要再次包装它。

以上是关于如何使用任意数量的参数调用Method.invoke?的主要内容,如果未能解决你的问题,请参考以下文章

如何制作可变参数宏(可变数量的参数)

使用动态数量的参数调用动态函数[重复]

如何测量 C 中任意函数调用使用的堆栈数量?

Python 3 类型,具有任意数量的包含类型的自定义可变参数泛型,如何?

创建 SAS 宏来处理任意数量的变量

创建SAS宏以处理任意数量的变量