gpt4 book ai didi

java调用带有动态数量参数的dnamall方法

转载 作者:行者123 更新时间:2023-12-01 18:05:55 26 4
gpt4 key购买 nike

我正在看这个问题

How do I invoke a Java method when given the method name as a string?

并应用第一个答案所说的内容

这是我动态调用方法的代码,它的参数是一个字符串数组

java.lang.reflect.Method method;
try {
String [] requiredParameters = testService.getRequiredParameters();
String [] parameters = new String[requiredParameters.length];
for (int i = 0; i<requiredParameters.length ; i++){
String valueRequiredParameter = request.getParameter(requiredParameters[i]);
parameters[i] = valueRequiredParameter;
}
method = new TestRecommendations().getClass().getMethod(service, parameters);
} catch (SecurityException e) {
// exception handling omitted for brevity
} catch (NoSuchMethodException e) {
// exception handling omitted for brevity
}

我在 getMethod 状态上遇到编译器错误:

The method getMethod(String, Class<?>...) in the type Class<capture#1-of ? extends TestRecommendations> is not applicable for the arguments (String, String[])

这就是我想动态调用的方法类型

public ResultSet level0ForUser(String ... userURI) {

最佳答案

获取类似以下内容的方法:

Method m = TestRecommendations.class.getMethod("level0ForUser", String[].class);

并调用如下:

m.invoke(new TestRecommendations(), new Object[] { new String[]{ "A", "B", "C" } } );

关于java调用带有动态数量参数的dnamall方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36430128/

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