jdk1.4和jdk1.5的invoke方法的区别
jdk1.5:public Object invoke(Object obj,Object...args)
jdk 1.4 public Object invoke(Object obj,Object[] args)按1.4的语法,需要将一个数组作为参数传递给invoke方法时,数组中的每个元素分别对应被调用方法的中一个参数所以调用charAt()的代码页可以用jdk1.4改写为 char.invoke("str",new Object[]{1})
启动java程序的main方法的参数是一个字符串数组,public static void main(String args[]),通过反射方式来调用这个main方法时,是按1.4语法把数组打散成若干个单独的参数。所以给main方法传递参数时,不能使用mainMethod.invoke(null,new String[]{"xxx"})
解决①mainMethod.invoke(null,new Object[]{new String[]{"xxx"}})将数组放入一个数组中打开还是一个数组
②mainMethod.invoke(null,(Object)new String[]{"xxx"})把数组当做对象看待