黑马程序员技术交流社区

标题: 关于反射中的Method类 求助 [打印本页]

作者: 刘菲    时间: 2012-12-2 11:31
标题: 关于反射中的Method类 求助
本帖最后由 刘菲 于 2012-12-2 12:29 编辑

在做反射的Method类中的方法时,遇到了下面的问题,希望大家能够给予帮助,谢谢了!
String str="abc";
Method methodCharAt=String.class.getMethod("charAt", int.class);
char c=(char)(methodCharAt.invoke(str, 1));//这句话会报错,说是Object不能转换成char类型,但是我不明白他的输出结果就是char类型为什么不能强转呢?
作者: 刘子义    时间: 2012-12-2 11:47
对象间的转型应该先转型成char的封装类Character,然后再用charValue()方法获得char型的值,试试看。
作者: 会飞的鱼    时间: 2012-12-2 11:49
自动拆装箱只能发生在基本类型和其对应的类之间,并不会发生在与Object之间。char c=(char)(methodCharAt.invoke(str, 1));//此间char是基本数据类型,你试着改为Character看看。
作者: 刘菲    时间: 2012-12-2 12:30
刘子义 发表于 2012-12-2 11:47
对象间的转型应该先转型成char的封装类Character,然后再用charValue()方法获得char型的值,试试看。 ...

谢谢!问题已经解决了!确实是你说的这样的!
作者: 刘菲    时间: 2012-12-2 12:30
阳永衡 发表于 2012-12-2 11:49
自动拆装箱只能发生在基本类型和其对应的类之间,并不会发生在与Object之间。char c=(char)(methodCharAt.i ...

谢谢!问题已经解决了!确实是你说的这样的!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2