再看<T>与<?>和“extends”与“super” 之 上次简单整理了“T”,是不是提到“T”就想到了Java的优越感——安全(Tao)问题
感觉 < T > 和 < ? > 一样 ? 先看个荔枝:将所有< ? >替换成< T > :
发现 < ? > 替换成 < T > 后报错了,看来还是不一样。那看看有什么联系和区别吧
(1)< T >可以用extends限定;
(2)< ? >可以用extends和super 限定;
(extends限定为所绑定的类及其子类,super限定为所绑定的类及其父类)
(3)替换作用;
简单省事,效率高 ,尤其多个绑定词时
(4)通配符<?>的超类型限定
再看个栗子:
由上图可看出将“?”换成“T”后就报错了,所以证明super限定为所绑定的类及其父类
(5)双层嵌套
让T 所extends绑定的类或接口的类型来源于其父类
(6)无限定通配符
(7)组合使用
通配符捕获
参考:《Head First Java 2nd Edition》、《Java核心技术卷Ⅰ》
如果大家喜欢这篇文章的话,希望大家收藏、转发、关注、评论、点赞,转载请注明出自这里。 PS:本随笔属个人学习小结,文中内容有参考互联网上的相关文章。如果您博文的链接被我引用,我承诺不会参杂经济利益。其中如果发现文中有不正确的认知或遗漏的地方请评论告知,谢谢! 还是那句话:不是我喜欢copy,是站在巨人的肩膀上~~