黑马程序员技术交流社区
标题:
泛型
[打印本页]
作者:
张稳
时间:
2014-4-23 23:55
标题:
泛型
泛型中T和?的区别是什么,自认为T可以代替?
作者:
程序爱好者
时间:
2014-4-24 00:03
使用<T>来声明类型持有者名称,自定义泛型类时,类持有者名称可以使用T(Type),如果是容器的元素可以使用E(Element),若键值匹配可以用K(Key)和V(Value)等,若是<?>,则是默认是允许Object及其下的子类,也就是java的所有对象了。
作者:
宋美成
时间:
2014-4-24 00:33
对于第一种<T> : 只能明确指定使用这一种类型,而且类型一旦确定以后就不能改变,若使用了其他类型是会报错的。
对于第二种<?> : 其适用范围会比较广,如果是指定了一种类型,他不仅可以使用该类,而且可以使用与该类相关的其他类,
比如(1)<?extends X>:我们可以接受X类型以及X类型的子类型,这种我们称之为上限!通常才储存时,我们选择上限,自己慢慢体会!
(2)<?superX>:我们可以接受X类型以及X类型的父类型,我们称之为下限,在取出元素是我们选择下限。
作者:
pray
时间:
2014-4-26 00:38
好久都没有这么笑了~
作者:
完美恋爱
时间:
2014-4-26 01:43
?是通配符,T是在自定义的时候使用,就是说当你不知道传入的参数是什么类型的时候,就可以写T,当然,目前就你所学的知识是用不到T的吧!只能用到通配符
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2