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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© BitmapFactory 中级黑马   /  2013-3-2 20:24  /  2258 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张学林 于 2013-3-4 06:46 编辑

看张老师的视频下面代码中什么时候将String传给T的呢
  1.                 Object obj = "abc";
  2.                 String x3 = autoConvert(obj);
  3.         private static <T> T autoConvert(Object obj){
  4.                 return (T)obj;
  5.         }
复制代码
似乎没有用到T啊

还有,是不是强制转换也是这样的做的呢,就和做个标签似是,JVM认识这个强转的标签(我怀疑是这样的)
大家帮忙分析一下啊

7 个回复

倒序浏览

回帖奖励 +10

private static <T> T autoConvert(Object obj){
                return (T)obj;
用到了,这个T代表函数返回值类型还有,强转类型,把autoConvert(obj)这个值赋给String,就说明T用String代替了.
相当于:
private static String autoConvert(Object obj){
               return (String)obj;
回复 使用道具 举报
在调用的时候也没有在函数上声明String啊,JVM怎么识别String,并把String传给T的呢?
回复 使用道具 举报
张学林 发表于 2013-3-3 07:00
在调用的时候也没有在函数上声明String啊,JVM怎么识别String,并把String传给T的呢? ...

这个作用累死强制类型转换,用什么类型接收T就代表什么类型
回复 使用道具 举报
T就像斗地主里的癞子,这下懂了?
回复 使用道具 举报
泛型在方法上应用时,张老师总结了很多。这中情况算简单的,由返回值确定泛型的实际参数类型
String x3 = autoConvert(obj);返回值用String接受,方法定义的时候返回值是T,这里就指定了T的实际参数是String类型了
回复 使用道具 举报
何伟 发表于 2013-3-3 12:01
T就像斗地主里的癞子,这下懂了?

这比喻厉害。。。哈哈
回复 使用道具 举报
何伟 发表于 2013-3-3 12:01
T就像斗地主里的癞子,这下懂了?

我也觉得这个说法比较容易理解
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马