public class ReflectTest {
public static void main(String[] args) throws Exception{
String str1="abc";
Method methodCharAt
=String.class.getMethod("charAt",int.class);
System.out.println(methodCharAt.invoke(str1,1));//b
System.out.println(methodCharAt.invoke(str1,new Object[]{2}));
/*
invoke(Object obj, Object... args)
对带有指定参数的指定对象调用由此 Method 对象表示的底层方法。Object... args这个是1,5的方法,1.4的用的就是数组
因为1JDK.5兼容1.4的版本,对数组进行拆分,拆分之后参数也是int类型的,所以可以返回c
*/
}
}
上面申明是int字节码 为何下面却用的是数组 另外结果为何是c |