再看<T>与<?>和“extends”与“super” 之 上次简单整理了“T”,是不是提到“T”就想到了Java的优越感——安全(Tao)问题

感觉 < T > 和 < ? > 一样 ? 先看个荔枝:
再看<T>与<?>和“extends”与“super” 之 上次简单整理了“T”,是不是提到“T”就想到了Java的优越感——安全(Tao)问题_第1张图片将所有< ? >替换成< T > :再看<T>与<?>和“extends”与“super” 之 上次简单整理了“T”,是不是提到“T”就想到了Java的优越感——安全(Tao)问题_第2张图片
发现 < ? > 替换成 < T > 后报错了,看来还是不一样。那看看有什么联系和区别吧

(1)< T >可以用extends限定;

(2)< ? >可以用extends和super 限定;

(extends限定为所绑定的类及其子类,super限定为所绑定的类及其父类)

(3)替换作用;

简单省事,效率高 ,尤其多个绑定词时
再看<T>与<?>和“extends”与“super” 之 上次简单整理了“T”,是不是提到“T”就想到了Java的优越感——安全(Tao)问题_第3张图片
再看<T>与<?>和“extends”与“super” 之 上次简单整理了“T”,是不是提到“T”就想到了Java的优越感——安全(Tao)问题_第4张图片
再看<T>与<?>和“extends”与“super” 之 上次简单整理了“T”,是不是提到“T”就想到了Java的优越感——安全(Tao)问题_第5张图片

(4)通配符的超类型限定

再看<T>与<?>和“extends”与“super” 之 上次简单整理了“T”,是不是提到“T”就想到了Java的优越感——安全(Tao)问题_第6张图片
再看<T>与<?>和“extends”与“super” 之 上次简单整理了“T”,是不是提到“T”就想到了Java的优越感——安全(Tao)问题_第7张图片
再看个栗子:
再看<T>与<?>和“extends”与“super” 之 上次简单整理了“T”,是不是提到“T”就想到了Java的优越感——安全(Tao)问题_第8张图片
由上图可看出将“?”换成“T”后就报错了,所以证明super限定为所绑定的类及其父类

(5)双层嵌套

让T 所extends绑定的类或接口的类型来源于其父类
再看<T>与<?>和“extends”与“super” 之 上次简单整理了“T”,是不是提到“T”就想到了Java的优越感——安全(Tao)问题_第9张图片

(6)无限定通配符

再看<T>与<?>和“extends”与“super” 之 上次简单整理了“T”,是不是提到“T”就想到了Java的优越感——安全(Tao)问题_第10张图片

(7)组合使用

通配符捕获
再看<T>与<?>和“extends”与“super” 之 上次简单整理了“T”,是不是提到“T”就想到了Java的优越感——安全(Tao)问题_第11张图片
参考:《Head First Java 2nd Edition》、《Java核心技术卷Ⅰ》

如果大家喜欢这篇文章的话,希望大家收藏、转发、关注、评论、点赞,转载请注明出自这里。 PS:本随笔属个人学习小结,文中内容有参考互联网上的相关文章。如果您博文的链接被我引用,我承诺不会参杂经济利益。其中如果发现文中有不正确的认知或遗漏的地方请评论告知,谢谢! 还是那句话:不是我喜欢copy,是站在巨人的肩膀上~~

你可能感兴趣的:(Java,java)