【发布时间】:2011-07-24 04:17:58
【问题描述】:
我有以下代码:
public void myMethod(Object... args) {
System.out.println("this is myMethod");
}
public void invokeMyMethod() {
Method s = this.getClass().getMethod("myMethod", Object[].class);
Object[] ex = new Object[2];
ex[0] = "hi";
ex[1] = "there";
s.invoke(this, ex);
}
我收到异常 java.lang.IllegalArgumentException: wrong number of arguments。怎么了?
【问题讨论】:
-
你从哪里得到异常?在对
getMethod或invoke的调用中? -
很明显这不是真正的代码,因为有错别字(例如getClass -> getClass())。也许真正的代码在某些方面有所不同?
-
欧内斯特,我已编辑为 user679573 添加括号。除此之外,代码是有效的,所以我觉得这是一个合理的步骤。 (主要是评论,以免别人误解你的评论。)
标签: java reflection