本帖最后由 ﹊佑雨时杰↘ 于 2014-4-27 23:35 编辑
// 对接受数组的成员方法进行反射- class TestArguments{
-
- public static void main(String[] args)
- {
- for (String arg : args)
- {
- System.out.println(arg);
- }
- }
-
-
- }
- 下面是 调用上面的java_io.TestArguments 类中的main方法
- public static void main(String[] args) throws Exception
- {
- // 对接受数组的成员方法进行反射
- Method method = Class.forName("java_io.TestArguments").getMethod("main", String [].class);
- // 请注意看这里
- method.invoke(null, new String[]{"111","222","333",});
- }
复制代码
为什么method.invoke(null, new String[]{"111","222","333",});处会有异常Exception in thread "main" java.lang.IllegalArgumentException: wrong number of arguments,
而把它换成method.invoke(null, (Object)new String[]{"111","222","333",}); 或者 method.invoke(null, new Object[]{new String[]{"111","222","333"}}); 就好了 求解
|