gpt4 book ai didi

java.lang.IllegalArgumentException : argument type mismatch on string array 异常

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:07:58 33 4
gpt4 key购买 nike

这是我动态调用方法的代码:

String[] parameters = new String[requiredParameters.length];
//here i put some values in the parameters array
method = TestRecommendations.class.getMethod("level1ClassSimilarityForUser",
String[].class);
System.out.println(":" + parameters[0] + ":");
results = (ResultSet) method.invoke(new TestRecommendations(), parameters)

parameters 是一个字符串数组,这是我的level1ClassSimilarityForUser 方法的声明

public ResultSet level1ClassSimilarityForUser(String[] userURI) {

我收到这个错误:

java.lang.IllegalArgumentException: argument type mismatch

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)

最佳答案

invoke 需要一个 Object[] 作为第二个参数(varargs 只是一种方便的语法)。我认为在你的情况下, String[] 不被视为第一个可变参数,而是完整的可变参数 Object[] ,因此你的单个字符串被用作参数不匹配 String[]
在您的情况下,在将参数提供给 invoke 之前将参数显式包装在 Object 数组中应该可行。
results = (ResultSet) method.invoke(new TestRecommendations(), new Ojbect[] { parameters }) 也是如此

关于java.lang.IllegalArgumentException : argument type mismatch on string array 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36447647/

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