Class c1 = Class.forName("test.FlectTest");
Method [] m1 = c1.getMethods();
用它不行吗??返回的是一个数组!

解决方案 »

  1.   

    是数组不是数组不是问题吧?因为Method类保存的是FlectTest类
    的testFlect方法的信息,和形式参数应该没关系。你可以运行下
    试试.
      

  2.   

    Method m = c1.getMethod("testFlect", new Class[]{FlectValue[].class});
      

  3.   

    楼主的问题就是知道“java.lang.String”,怎么得到String[] 的类型的问题。这样做:
     Class  c1 = Class.forName("FlectTest");     
     Method m1 = c1.getMethod("testFlect", new Class[]{Array.newInstance(Class.forName("FlectValue"),0).getClass()});  
      

  4.   

    kingfish(八百里秦川@龙城异客):
    还知道别的法子么,就像Integer.Type,也可以用int.class表示一样。
      

  5.   

    Class c=Class.formName("[Ljava.lang.String;");//前面加[L,后面加分号
    Class c=String[].class;
      

  6.   

    m1 = c1.getMethod("testFlect", new Class[]{Class.forName("[LMyString;")});to flyxxxxx:
           这样最简单!
      
           昨天也试过,不过忘了个分号...
      

  7.   

    学习,不过我觉得:new Class[]{FlectValue[].class}才最简单,加个中括号就好了
      

  8.   

    to 楼上: FlectValue也需要反射得到,否则那用这么麻烦啊
      

  9.   

    getComponentType()?
    没明白楼主的意思,
      

  10.   

    数组在JVM内部的表示方式就是[LBaseTypeName
      

  11.   

    Method m = c1.getMethod("testFlect", new Class[]{FlectValue[].class});
    这样不行吗?????