本帖最后由 清心玉质 于 2013-8-5 21:32 编辑
写一个程序能够根据用户提供的类名,去执行该类中的main方法.下面程序中标红代码报错:提示不能把String[]转换成Object,什么原因呢?- package frogbean;
- import java.lang.reflect.Constructor;
- import java.lang.reflect.Field;
- import java.lang.reflect.Method;
- import org.omg.CORBA.Object;
- public class ReflectionTest {
- public static void main(String args[])throws Exception
- {
-
- //TestArguments.main(new String[]{"111","222","444"});
- String startingclassName = args[0];//写程序的时候不知道是哪个类
- Method mainMethod = Class.forName(startingclassName).getMethod("main", String[].class);
- <STRONG><FONT color=darkred>mainMethod.invoke(null,new Object[]{new String[] {"111","222","444"}});
- mainMethod.invoke(null,(Object)new String[] {"111","222","444"});
- </FONT></STRONG>
-
-
- }
-
- }
- class TestArguments{
- public static void main(String[] args){
- for(String arg : args){
- System.out.println(arg);
- }
-
-
- }
-
- }
复制代码 |