public void reflectMain() throws Exception{
Class class4 = Class.forName("yting.day01.reflect.TestClass");
Method me4 = class4.getMethod("main",String[].class);
//me4.invoke(null,new Object[]{new String[]{"aaa","bbb"}}); //处理方式一
me4.invoke(null,(Object)new String[]{"aaa","bbb"}); //处理方式二
/*
* 这里千万要注意,public static void main(String[] args){}这个方法里面的参数是一个数组(数组的参数,注意注意),但是如果
* 直接传递new String[]{"aaa","bbb"}这样的东西进去的话,会被看作是两个数组,会抱参数个数错误的异常,有两种处理方式,
* 处理方式一: new Object[]{new String[]{"aaa","bbb"}}
* 处理方式二: (Object)new String[]{"aaa","bbb"}
*/
}
这是自己写过的源代码、、、希望可以帮到也出了同样问题的朋友、、、
|
|