gpt4 book ai didi

java - 创建一个从限定名称调用第二个方法的方法

转载 作者:行者123 更新时间:2023-12-01 13:07:13 24 4
gpt4 key购买 nike

我需要一种方法来调用第二个类中的第二个方法。例如

Class commandclass = Class.forName("foo.Class");
Method method = commandclass.getMethod("method", String.class, String.class);
method.invoke(method, "param1", "param2");

但是我尝试过将其放入方法中,但这比我想象的要困难得多。我希望这样任何公共(public)方法都可以从任何具有任何类型参数的类中调用。

最佳答案

只需将所需的所有参数传递给方法并调用您的代码即可。

// pass "null" for parIdentifiers and parameters if it's a method without any
public static void invokeMethod(String className, String methodName,
Class<?>[] parIdentifiers, Object[] parameters) {
try {

// Your code
Class<?> commandclass = Class.forName(className);
Method method = commandclass.getMethod(methodName, parIdentifiers);
method.invoke(method, parameters);

} catch (NoSuchMethodException | SecurityException | ClassNotFoundException
| IllegalAccessException | IllegalArgumentException
| InvocationTargetException e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
Class<?>[] types = new Class<?>[]{String.class, String.class};
Object[] params = new Object[]{"param1", "param2"};
invokeMethod("foo.Class", "method", types, params);
}

关于java - 创建一个从限定名称调用第二个方法的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23180890/

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