为什么我得到Java.lang.IllegalArgumentException:使用Reflecti
发布时间:2020-12-15 04:49:31 所属栏目:Java 来源:网络整理
导读:参见英文答案 Wrong number of arguments error when invoking a method????????????????????????????????????5个 我在类中有一个方法如下 class Sample{ public void doSomething(String ... values) { //do something } public void doSomething(Integer v
参见英文答案 >
Wrong number of arguments error when invoking a method????????????????????????????????????5个
我在类中有一个方法如下 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 解决方法
将String数组包装在Object数组中:
Sample object = new Sample(); Method m = object.getClass().getMethod("doSomething",String[].class); String[] arr = {"v1","v2"}; m.invoke(object,new Object[] {arr}); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |