再看<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,是站在巨人的肩膀上~~

猜你喜欢

转载自blog.csdn.net/Mrsgflmx/article/details/107892087
今日推荐