gpt4 book ai didi

Java 相当于 PHP 的 call_user_func()

转载 作者:行者123 更新时间:2023-11-30 09:30:11 26 4
gpt4 key购买 nike

我正在尝试做的是使用字符串变量调用方法/对象。

我有 'foo' 和 'bar' 并且需要做 foo.bar()

是否有类似 PHP 的 call_user_func() 的东西?还有其他建议吗?

最佳答案

在java中你应该使用反射。

官方文档:http://docs.oracle.com/javase/tutorial/reflect/index.html

您的情况可能如下所示:

Class<?> c = Class.forName("foo");
Method method = c.getDeclaredMethod ("bar", new Class [0] );
method.invoke (objectToInvokeOn, new Object[0]);

其中 objectToInvokeOn 是您要调用的实例/对象(类 foo)。以防万一。

否则你应该去:

Class<?> c = Class.forName("foo");
Object objectToInvokeOn = c.newInstance();
Method method = c.getDeclaredMethod ("bar", new Class [0] );
method.invoke (objectToInvokeOn, new Object[0]);

关于Java 相当于 PHP 的 call_user_func(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13362307/

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