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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 无此姓名 于 2014-4-13 22:42 编辑

用反射的方式调用String类的charAt()方法,代码如下,
问题在代码里

  1. reflect_charAt() {
  2.         String str = "abc";
  3.         Method mthCharAt1 = String.class.getMethod("charAt", int.class);//这里int.class就是用来表示charAt方法的参数是int类型嘛,为什么不能直接用int呢,这一点一直想不通。我觉得这不只是语法规定,应该有一定的道理吧,求大神赐教
  4.         char ch1 = (char) mthCharAt1.invoke(str, 1);
  5.         System.out.println(ch1);
  6.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

4 个回复

倒序浏览
这个原因是不是  从int类型继承过来的  
回复 使用道具 举报
int.class是Class类对象,而int不是
回复 使用道具 举报
api 上规定的事class类型。不过跟人认为这 你既然前面都是通过class在内存中调用 如果你这写个int会出错
回复 使用道具 举报
果然是大神,佩服
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马