- import java.lang.reflect.*;
- class ReflectDemo5
- {
- public static void main(String[] args)throws Exception
- {
- String testString = args[0];
- Method method = Class.forName(testString).getMethod("main",String[].class);
- System.out.println(method.invoke(null,new Object[]{new String[]{"haha","hehe","heihei"}}));
- }
- }
- class TestArguments
- {
- public static void main(String[] args)
- {
- for(String str : args)
- {
- System.out.println(str);
- }
- }
- }
复制代码 如果你要测试请在运行时向主函数传入TestAruguments
测试结果为
haha
hehe
heihei
null
我的问题就是这个null是怎么出来的
经过为测试
如果把
System.out.println(method.invoke(null,new Object[]{new String[]{"haha","hehe","heihei"}}));
改为
method.invoke(null,new Object[]{new String[]{"haha","hehe","heihei"}})
则就不会出现null
现在我想知道为什么我加上了System.out.println()之后就出现了null了???????
哥哥些来看看嘛 |