super 要求 ? 必须是 T 的超类或者自身
extends 要求 ? 必须是T的子类或者自身
    /***  <? super T>*  super 要求 ? 必须是 T 的超类或者自身* Super*/@Testpublic void testSuper() {//ArrayList泛型为String,符合<? super String>的要求,String和String本身是相同的类型List<? super String> ts = new ArrayList<String>();//正确//ArrayList的泛型是Object,Object是所有类的父类,符合<? super T>的要求List<? super String> objects = new ArrayList<Object>();//正确//ArrayList的泛型是String,String和Integer没啥关系,不符合要求//List<? super Integer> strings = new ArrayList<String>();//错误//ArrayList的泛型是String,String是Object的子类,不符合要求//List<? super Object> strings = new ArrayList<String>();//错误
        }

    /*** <? extends T>*     extends 要求 ? 必须是T的子类或者自身*/public void testExtends(){//ArrayList的泛型是String,String是Object的子类,符合<? extends T>的要求List<? extends Object> strings = new ArrayList<String>(); //ArrayList的泛型是Object,Object是String的父类,不符合<? extends T>的要求//List<? extends String> objects = new ArrayList<Object>(); //错误
}

转载于:https://www.cnblogs.com/zhangminjie/p/4357531.html

Java 泛型中的? super T和? extends T相关推荐

  1. Java泛型中extends T和super T的区别?

    <? extends T>和<? super T>是Java泛型中的"通配符(Wildcards)"和"边界(Bounds)"的概念. ...

  2. Java泛型中extends和super的理解(转)

    E – Element (在集合中使用,因为集合中存放的是元素) T – Type(Java 类) K – Key(键) V – Value(值) N – Number(数值类型) ? – 表示不确定 ...

  3. Java泛型中extends和super的区别?

    区别 <? extends T>和<? super T>是Java泛型中的"通配符(Wildcards)"和"边界(Bounds)"的概 ...

  4. Java泛型中? 和 ? extends Object的异同分析

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 刘一手 来源 | 公众号「锅外的大佬」 Jav ...

  5. Java泛型三:通配符详解extends super

    在java泛型中,? 表示通配符,代表未知类型,< ? extends Object>表示上边界限定通配符,< ? super Object>表示下边界限定通配符. 通配符 与 ...

  6. 聊一聊Java 泛型中的通配符 T,E,K,V,?

    点击上方"方志朋",选择"设为星标" 回复"1024"获取独家整理的学习资料 作者:glmapper juejin.im/post/5d57 ...

  7. 聊一聊-JAVA 泛型中的通配符 T,E,K,V,?

    前言 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型. 泛型的本质是参数化类型,也就是说所操作的数据 ...

  8. Java泛型中的PECS原则

    今天在写代码的时候使用到了这样一个方法签名: public void foo(Map<String, String> map); 在写这个参数的时候正好在想一些关于泛型的东西,于是: pu ...

  9. JAVA 泛型中的通配符 T,E,K,V,?

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群",加入新技术 来源:8rr.co/2Xqx 前言 Java 泛型(generic ...

最新文章

  1. v-bind 中a标签的使用
  2. 快速上手RaphaelJS-Instant RaphaelJS Starter翻译(一)
  3. 802.11的隐藏节点和RTS,CTS机制
  4. matlab循环前后变量定义,Matlab for 多个变量循环能不能这样啊 ,求教高手!!!!...
  5. C#实现bitmap图像矫正
  6. DCMTK:DcmOtherLong类的测试程序
  7. 七、Forword(请求转发)与Redirect(重定向)
  8. 95-36-220-ChannelHandler-RejectedExecutionHandlers
  9. php如何修改二维数组的值,php如何改变二维数组的值
  10. 并发编程之美(1)并发编程基础二
  11. Xpose 建立新工程
  12. 上帝视角-我是一个线程『转』
  13. 什么相片可以两张弄成一张_美图秀秀怎么把两张图片合成一张?美图秀秀两张图片融合方法汇总...
  14. python nextpow2_Python signal.hann方法代码示例
  15. Tyvj4071放射性辐射尘题解
  16. 关于数据分析的一些实例报告
  17. 用python整个活(2)——用numpy做一个蜘蛛纸牌
  18. 同济七版高等数学 上册 复习指导、公式推理简易过程、常用结论归纳
  19. 总结归纳“windows 找不到文件‘cmd’,命令提示符无法执行和打开”的多种错误方法规避,错误重现以及正确解决方法
  20. 滴滴(夜莺)Nightingale监控部署

热门文章

  1. cuda Memory Fence Functions
  2. opencv 数学操作
  3. c ++ helloworld
  4. VCSA 6.7 U2无DNS部署 VCSA 7正式版无DNS部署
  5. 神州数码携手IBM与红帽共商“新基建”机遇与挑战
  6. NetScaler SDWAN 的前世今生
  7. Mysql学习总结(24)——MySQL多表查询合并结果和内连接查询
  8. 联想服务器st系列,联想ThinkSystem ST50评测 一款超值的入门级服务器
  9. 乌班图mysql8.0安装第一次手工启动_Ubuntu Server 16.04下mysql8.0安装配置图文教程
  10. html禁止转义reg,HTML转义 - Reg表达式?