当前位置: 首页 > 面试题库 >

Java动态函数调用

阎冠玉
2023-03-14
问题内容

我有一个字符串数组,其中包含yyyyyy类中方法的名称

xxxxxx课堂上,我正在创建一个yyyyyy实例(例如obj)。现在,我可以调用obj.function_name(),只是我想function_name循环读取String数组。这可能吗?


问题答案:

您可以使用反射。通过调用完成Yyyy.class.getMethod("methodName").invoke(someArgs)

您必须处理大量异常,并且您的方法必须为public。需要注意的是Java编码惯例喜欢methodNamemethod_name

但是,使用反射应该是最后的选择。您应该使用更多的面向对象技术。

如果您经常需要类似的功能,也许您可​​以看看在Java平台上运行的某些动态语言,例如Groovy。



 类似资料:
  • 调用回调函数,并把一个数组参数作为回调函数的参数。 local args = {...} or {} method_name(unpack(args, 1, table.maxn(args))) 使用场景 如果你的实参 table 中确定没有 nil 空洞,则可以简化为 method_name(unpack(args)) 你要调用的函数参数是未知的; 函数的实际参数的类型和数目也都是未知的。 伪代

  • 问题内容: 我正在寻找一个窍门。我知道如何在JavaScript中调用动态的任意函数,并传递特定的参数,如下所示: 我知道如何使用内部的集合传递可选的,无限制的参数,但是,我不知道如何发送任意数量的参数以动态发送给它;我该如何完成这样的工作,但是要有任意数量的可选参数(不要使用丑陋的– )? 问题答案: 使用函数的apply方法:- 编辑 :在我看来,这将是一个稍微的调整会更有用: 这将在浏览器之

  • 问题内容: 我有以下代码: 我怎么能叫和动态? 例如: 我使用了大括号,因为这是我以前在PHP中使用的方式,但是显然不起作用。 如何使用Python做到这一点? 问题答案: 如果不想使用并且不想创建单独的模块和/或类来封装要动态调用的函数,则可以将它们作为当前模块的属性来调用:

  • 问题内容: 是否可以在SQL中使用动态名称调用函数? 例如: 这将为表List_of_Functions中的每一行调用一个不同的函数。 还是我要解决所有这些错误? 问题答案: 您将需要构建(输入它,或者根据您的表动态地构建它)一条SQL语句,例如: 与其构建所有这些功能,不如构建一个功能并传递一个该功能可用于区分处理的值,这会更好吗?喜欢:

  • 我正在与Javascript、Mocha、Chai和SinonJ合作。我想做的是监视一个“equals”方法,该方法由另一个方法“compareUsingOperator”动态调用。下面的代码显示了我的类“StringComparator”,它有两个方法“equals”和“compareUsingOperator”。 这是我的单元测试: 在我的单元测试中,我在“equals”方法上设置了一个间谍,

  • 我在动态数据库表上启用了流。修改项目时,将触发 lambda 函数。我认为我在 lambda 触发器端、权限端和 dynamodb 端都正确设置了所有内容。我还使用测试数据运行了我的lambda函数,它成功了。但是,当表中的项被修改时,触发器没有启动我的 lambda 函数。相反,我得到了以下错误: 批量:100最后处理结果:问题:函数调用失败 你知道调试这个的最佳方法是什么吗?我查看了Cloud