黑马程序员技术交流社区
标题:
反射问题
[打印本页]
作者:
蓬头小道士
时间:
2015-8-14 22:07
标题:
反射问题
程序如下:
import java.lang.*;
class ReflectTest
{
public static void main(String[] args)
{
String mainName=args[0];
Method method =Class.forName(mainName).getMethod("main",String[].class);
method.invoke(null,new Object[]{new String[]{"a","b","c"}});
}
}
class mainTest
{
public static void main(String[] args)
{
for(String arg:args)
{
System.out.println(arg);
}
}
}
程序中红色部分为什么要把new String["a","b","c"]放入new Object[]{}中,getMethod的类型不就是String[]吗?
作者:
pengbeilin
时间:
2015-8-15 00:19
要从类型 Method 中调用 varargs 方法 invoke(Object, Object...),应该将类型为 String[] 的参数显式地强制转换为 Object[]。对于 varargs 调用来说,也可以将 其强制转换为 Object
eclipse给了一句这样的话!求解释!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2