gpt4 book ai didi

Java:如何调用名称存储在字符串变量中的函数

转载 作者:搜寻专家 更新时间:2023-11-01 04:04:48 25 4
gpt4 key购买 nike

我在变量 String func = "validate"; 中存储了一个通用字符串,我想调用该名称的函数,即,我需要调用 validate()功能。
我的意思是说我会将变量传递给某个函数
public void callFunc(String func){
....

因此,上述函数应该调用适当的函数,并将函数名称作为参数传递给 callfunc()

最佳答案

可以使用反射来做到这一点,例如

Method method = getClass().getMethod(func);
// TODO: Validation
method.invoke(this);

当然,这是假设您要调用 this 上的方法,并且它是一个实例方法。看Class.getMethod和相关方法,以及Method本身,了解更多详情。您可能需要 getDeclaredMethod,并且您可能需要使其可访问。

不过,如果可能的话,我会看看你是否能想出一种避免这种情况的方法——反射往往很快就会变得困惑。值得退后一步,考虑一下这是否是最佳设计。如果您向我们提供更多的大局细节,我们可能会提出替代方案。

关于Java:如何调用名称存储在字符串变量中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10510724/

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