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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘菲 中级黑马   /  2012-12-8 23:23  /  1166 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘菲 于 2012-12-9 00:11 编辑

public class GenericProblem {
        public static void main(String[] args)
        {
                Object obj="abc";
                String x3=autoConvert(obj);
        }
        public static <T> T autoConvert(Object obj)//这个泛型接收的是什么类型,并没有指明啊
        {                                                                                   //只是说接收Object类型的参数,也就是这里接收“abc”
                return (T)obj;                                                  //但是为什么强制转换时就可以转换为String类型呢?
                                                                                        //这里定义的泛型到底代表什么呢?
        }
}

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

2 个回复

倒序浏览
这里定义的泛型<T>代表泛型方法,方法autoConvert(Object obj接收的参数可以是任意类型的 ,传一个"abc"进来是可以的,
即以多态的形式接收: Objice obj=new String("abc");   "abc"所属的类为String类型,所以<T>obj; 就是<String> abc;

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
赵保磊 发表于 2012-12-8 23:39
这里定义的泛型代表泛型方法,方法autoConvert(Object obj接收的参数可以是任意类型的 ,传一个"abc"进来是 ...

恩,明白了!谢谢!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马