A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jackhai9 中级黑马   /  2014-8-10 20:56  /  1192 人查看  /  5 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

Class的 getMethod(String name, Class[] parameterTypes)方法,
其中parameterTypes需要指定参数的类,现在方法的参数是一个String[],请问该怎么写?比如main方法的参数。

点评

Object.class 或者String[].class  发表于 2014-8-10 21:40

5 个回复

倒序浏览
如果参数是数组的话要把数组转换成object   new Object(String[])
回复 使用道具 举报
  1. import java.lang.reflect.InvocationTargetException;
  2. import java.lang.reflect.Method;

  3. public class Test14 {
  4.         public static void main(String[] args) {
  5.                 int[] a = {1,2,4};
  6.                 Test t = new Test();
  7.                 try {
  8.                         Method m = Test.class.getMethod("sopArr", int[].class);
  9.                         //Method m = Test.class.getMethod("sopArr", a.class);
  10.                        
  11.                         m.invoke(t, a);
  12.                 } catch (SecurityException e) {
  13.                         // TODO Auto-generated catch block
  14.                         e.printStackTrace();
  15.                 } catch (NoSuchMethodException e) {
  16.                         // TODO Auto-generated catch block
  17.                         e.printStackTrace();
  18.                 } catch (IllegalArgumentException e) {
  19.                         // TODO Auto-generated catch block
  20.                         e.printStackTrace();
  21.                 } catch (IllegalAccessException e) {
  22.                         // TODO Auto-generated catch block
  23.                         e.printStackTrace();
  24.                 } catch (InvocationTargetException e) {
  25.                         // TODO Auto-generated catch block
  26.                         e.printStackTrace();
  27.                 }
  28.         }
  29. }

  30. class Test {
  31.     public static void main(String[] args) {
  32.            
  33.     }
  34.    
  35.     public static void sopArr(int[] a){
  36.             for(int i:a){
  37.                     System.out.println(i);
  38.             }
  39.     }
  40. }
复制代码
回复 使用道具 举报

ok,明白了。。。
回复 使用道具 举报
你的参数是什么类型,就传入什么类型的class
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马