为什么我得到Java.lang.IllegalArgumentException:使用反射使用varargs调用方法时参数数目错误

灌木丛:

我在下面的课程中有一个方法

  class Sample{

    public void doSomething(String ... values) {

      //do something
    }

    public void doSomething(Integer value) {

    }

  }


//other methods
.
.
.

现在我得到IllegalArgumentException:下面的参数数目错误

Sample object = new Sample();
Method m = object.getClass().getMethod( "doSomething", String[].class );
String[] arr = {"v1","v2"};
m.invoke( object, arr ) // exception here
罗比·科尼利森(Robby Cornelissen):

将您的String数组包装成一个Object数组:

Sample object = new Sample();
Method m = object.getClass().getMethod("doSomething", String[].class);
String[] arr = {"v1", "v2"};
m.invoke(object, new Object[] {arr});

尽管varargs参数可能由多个值组成,但仍被视为一个参数。由于Method.invoke()需要一个参数数组,因此需要将单个varargs参数包装到arguments数组中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

来自分类Java

为什么我得到此异常java.lang.IllegalArgumentException:比较方法违反了其常规协定

来自分类Dev

为什么在Netbeans中得到错误:java.lang.IllegalArgumentException和java.lang.reflect.InvocationTargetException?

来自分类Java

为什么我得到的异常,而在本地主机给输入“java.lang.IllegalArgumentException异常:目标对象不能为空”?

来自分类Java

为什么我得到java.lang.ArithmeticException:除以零

来自分类Java

为什么我得到:java.lang.UnsatisfiedLinkError

来自分类Java

为什么我得到java.lang.UnsatisfiedLinkError:即使IntelliJ没有编译错误,java.library.path中也没有jnisgfplib,如何解决?

来自分类Java

java.lang.IllegalArgumentException:使用反射时参数类型不匹配

来自分类Java

为什么我收到java.lang.AbstractMethodError错误?

来自分类Java

当我得到java.lang.NoClassDefFoundError什么依赖丢失:使用javax / WS / RS /客户/ RxInvokerProvider错误?

来自分类Java

java.lang.ClassCastException:android.widget.TextView。我为什么得到这个?

来自分类Java

为什么我使用java.lang.Throwable#getStackTrace和java.lang.Thread#getStackTrace获得不同的堆栈跟踪

来自分类Dev

为什么我得到错误的XOR输出

来自分类Dev

为什么在使用MediaRouteButton时出现java.lang.IllegalArgumentException:背景不能半透明:#0?

来自分类Java

为什么在MediaPlayer静态方法create()中使用的Uri抛出java.lang.IllegalArgumentException?

来自分类Dev

为什么我会得到1136:参数数目不正确。预期0

来自分类Python

为什么Python允许参数数目错误的函数调用?

来自分类Dev

在Spock中调用with-method时,为什么会得到“ groovy.lang.MissingMethodException:方法无签名”?

来自分类Java

IllegalArgumentException:Java Constructor.newInstance()中的参数数目错误

来自分类Dev

为什么我得到“ str”对象无法调用的错误

来自分类Java

为什么我从MouseAdapter的getSource方法得到此错误?

来自分类Java

为什么调用调用方法(JAVA)时出现“参数数量错误”异常

来自分类Java

为什么我收到此错误?java.lang.ClassCastException:android.text.SpannableStringBuilder无法转换为java.lang.String

来自分类Java

为什么java.lang.Thread在启动时不调用其显式java.lang.Runnable的run()方法?

来自分类Java

当我在ScalaIDE中运行代码时,为什么会出现`java.lang.NoClassDefFoundError:scala / Function1`?

来自分类Java

当我尝试在Vaadin View中初始化方法时,我得到java.lang.NullPointerException:null

来自分类Java

为什么在处理列表时抛出java.lang.UnsupportedOperationException

来自分类Dev

为什么我得到'str'对象不可调用?

来自分类Dev

为什么我得到无法识别的参数:[查询]

来自分类Dev

为什么我得到“为foreach()提供了无效的参数”?

TOP 榜单

热门标签

归档