泛型 (三)上下界限

通配符:上边界extends来表式 下边界 super表式


image.png

上边界.png

首先来看的是上边界,Number 是Integer的父类,所以符合在上边界里面输出,(Float,Double等等也都是Number 的子类都是可以的)


下边界.png

接着看下边界Number 是Integer的父类,所以只能输入A 正确,输入B 会报错
所以:
上限,下限针对于方法的入参。

可读,可写针对于某个有泛型限定的变量
PECS原则
最后看一下什么是PECS(Producer Extends Consumer Super)原则,已经很好理解了:
频繁往外读取内容的,适合用上界Extends。
经常往里插入的,适合用下界Super。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一.通配符的应用 实践检验真理,所以在说明通配符上下界的理解的时候,先说明下什么时候使用通配符 关于泛型类型通配符...
    木木Jump阅读 2,048评论 2 4
  • 本文包括:JDK5之前集合对象使用问题泛型的出现泛型应用泛型典型应用自定义泛型——泛型方法自定义泛型——泛型类泛型...
    廖少少阅读 2,003评论 5 16
  • 上界<? extends T>不能往里存,只能往外取 比如,我们现在定义:List<? extends T>首先你...
    凉风拂面秋挽月阅读 658评论 0 0
  • 1 泛型基础 1.1 什么是泛型(Generics) 官方是这样介绍的: JDK 5.0 introduces s...
    Eager01阅读 278评论 0 0
  • 使用通配符的原因:Java中的数组是协变的,但是泛型不支持协变。 数组的协变 首先了解下什么是数组的协变,看下面的...
    平头哥2015阅读 1,943评论 0 1

友情链接更多精彩内容