本帖最后由 马德强 于 2011-12-13 15:19 编辑
Jdk1.5:public Object invoke(Object obj,Object... args)
Jdk1.4:public Object invoke(Object obj,Object[] args)
Method m=String.class.getMethod("charAt",int.class);
m.invoke(str1,1); 这样写符合 jdk1.5 调用没问题。
m.invoke(str1,new Object[]{1});
这样写,相当于Object obj=new Object[]{"1"};也符合1.5的参数要求啊,为什么却调用了1.4的invoke呢?
是不是 ,当兼容1.4和1.5时,就会先判断是否满足1.4 ?只有不满足时 才会判断是否满足1.5
|