黑马程序员技术交流社区
标题:
关于对接收数组参数的成员方法进行反射的一个问题
[打印本页]
作者:
Ysfox
时间:
2013-7-21 01:08
标题:
关于对接收数组参数的成员方法进行反射的一个问题
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了???????
哥哥些来看看嘛
作者:
wedge
时间:
2013-7-21 07:55
method.invoke(null,new Object[]{new String[]{"haha","hehe","heihei"}})返回的Object为null
本身这个方法method.invoke(null,new Object[]{new String[]{"haha","hehe","heihei"}}),就是打印
haha
hehe
heihei
然后又接着打印了这个方法的返回值。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2