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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨静 中级黑马   /  2012-5-12 20:50  /  1439 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

泛型的定义中有关类型参数的类型推断的部分内容不容易理解。特求解答。

3 个回复

倒序浏览
泛型(Generic):
Jdk1.5出现的安全机制。
好处:
1,将运行时期的问题ClassCastException转到了编译时期。
2,避免了强制转换的麻烦。
<> 什么时候用:当操作的引用型数据类型不确定时,就是用<>,将要操作的数据类型传入即可,
其实<>就是一个用于接收具体引用数据类型的参数范围;
在程序中,只要用到了带有<>的类或接口就要明确传入的具体引用数据类型
原理:整理下,
泛型技术是给编译器使用的技术,用于编译时期,保证运行时期的安全性。
运行时,会将泛型去掉,生成的Class文件中不带泛型的,这个称为泛型的擦出。
为什么会擦出呢:因为为了兼容运行的类的加载。
jdk1.5后,使用泛型来接受类中要操作的数据类型。
当方法是静态时,不能访问类上定义的泛型。
只能将方法定义在方法上。
泛型接口:
泛型的通配符:?  未知类型。。。
<? extends  E>  E:接收E类型或是E的子类类型对象:上限  (一般存储元素的时候定义上限,因为这样取出都是按照上限来运算的,这样不会出现安全隐患)---------添加元素  只能使用addll(),     不能写具体对象  add();
Demo演示
<? super  E>  E :接受E类型或是E类型的父类型对象,下限(通常对集合中的元素进行取出操作时,使用下限)________比较器
回复 使用道具 举报
金肖 发表于 2012-5-12 23:10
泛型(Generic):Jdk1.5出现的安全机制。好处:1,将运行时期的问题ClassCastException转到了编译时期。2 ...

他貌似问的是高新部分的泛型的类型推断···
回复 使用道具 举报
李南江 发表于 2012-5-12 23:37
他貌似问的是高新部分的泛型的类型推断···

嗯嗯,可能是我理解错了.....
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马