有时候希望传入的类型有一个指定的范围,从而可以进行一些特定的操作,这时候就需要通配符了?在Java中常见的通配符主要有以下几种:

<?>: 无限制通配符 <? extends E>: extends 关键字声明了类型的上界,表示参数化的类型可能是所指定的类型,或者是此类型的子类 <? super E>: super关键字声明了类型的下界,表示参数化的类型可能是指定的类型,或者是此类型的父类 它们的目的都是为了使方法接口更为灵活,可以接受更为广泛的类型. < ? extends E>: 用于灵活读取,使得方法可以读取 E 或 E 的任意子类型的容器对象。 < ? super E>: 用于灵活写入或比较,使得对象可以写入父类型的容器,使得父类型的比较方法可以应用于子类对象。 用简单的一句话来概括就是为了获得最大限度的灵活性,要在表示生产者或者消费者的输入参数上使用通配符,使用的规则就是:生产者有上限(读操作使用extends),消费者有下限(写操作使用super).

简述泛型的上界和下界?相关推荐

  1. java泛型的上界和下界_java泛型中的上界(extend)和下界(super)

    泛型中上界和下界的定义 上界 extend Fruit> 下界 super Apple> 上界和下界的特点 上界的list只能get,不能add(确切地说不能add出除null之外的对象, ...

  2. java数组的下界,Java泛型_上界extends_下界super

    Java泛型_上界extends_下界super ? 通配符类型 extends T> 表示类型的上界,表示参数化类型的可能是T或是T的子类 super T> 表示类型下界(Java C ...

  3. java 泛型的上界和下界

    1.上界 Java 泛型的上界用于限制泛型类型参数必须是某个类型的子类型,通常使用 extends 关键字来表示.下面是一个示例代码,其中 T 的上界是 Comparable<T>,表示 ...

  4. java 上界和下界,Java 泛型上下界(上下限)

    UML 类图,A 继承自 Object,B 继承自 A,C 继承自 B public class Test_2 { public static void main(String[] args) { L ...

  5. java 上界和下界,Java 泛型之上界下界通配符

    Java 泛型之上界下界通配符 Java教程是为JDK 8编写的.本页描述的示例和实践没有利用后续版本中引入的改进. 通配符和子类型 如 泛型,继承和子类型中所述,泛型类或接口仅仅因为它们的类型之间存 ...

  6. java泛型的上界下界

    java泛型的上界下界的demo. import java.sql.Timestamp; import java.util.ArrayList; import java.util.Date; impo ...

  7. 【Java数据结构】泛型详解+图文,通配符上界、下界

    0. 泛型的本质 0. 泛型的目的 1. 泛型的语法 1.1 泛型的使用 2. 包装类 2.1 装箱和拆箱 2.2.1练习题 3 .泛型如何编译 4.泛型的上界 5. 通配符 5.1通配符上界 5.2 ...

  8. 上界与下界-- 视图界定--协变与逆变

    1.上界与下界:Upper bound,lower bound                  作用:规定泛型的取值范围                  Int x                 ...

  9. Scala中协变(+)、逆变(-)、上界(:)、下界(:)简单介绍

    对于一个带类型参数的类型,比如 List[T],如果对A及其子类型B,满足 List[B]也符合List[A]的子类型,那么就称为covariance(协变) , 如果 List[A]是 List[B ...

最新文章

  1. 美国再出半导体新法案!1800亿谋求芯片制造振兴
  2. Win32汇编最简ComboBox Demo
  3. 1.18.5.流式概念、动态表(Dynamic Table)、DataStream上的关系查询、动态表 连续查询(Continuous Query)、在流上定义表、处理时间
  4. BCEWithLogitsLoss的使用案例
  5. mysql-bin.000001文件的来源及处理方法[转]
  6. mysql查询语句出现sending data耗时解决
  7. python json转换与处理
  8. java入门之IDE开发工具:简介·下载·安装
  9. win10超好看的鼠标主题,你也来试试吧
  10. 细说php在哪买,细说PHP
  11. 图书馆管理系统-登录流程
  12. Ubuntu 16.04 单显卡安装Nvidia驱动+GTX750显卡安装CUDA 9.1+cuDNN 7.1.3
  13. 黑鲨重装计算机安装无法继续,图解黑鲨装机大师装机失败无法开机怎么办?
  14. linux电脑外放没声音,ubuntu 16.04安装好后没声音的解决方法
  15. few-shot vid2vid部署安装及测试
  16. 至强cpu能装linux吗,至强四核CPU Xeon 安装Linux系统后 能利用到4个核吗?
  17. python换脸开源_Python实现AI换脸功能
  18. Java 当前日期判断节假日
  19. Startup通过3D打印制造更便宜、更轻的火箭 | 广东省智能创新协会
  20. SecureCRSecureFX8.1中文绿色免安装版

热门文章

  1. 前端工程师系列,TCP复习及浓缩总结(全干货,支持面试)
  2. 图解sqlserver 2000 还原数据库的基本操作
  3. JavaScript数组随机排序
  4. php时间区间,优化显示
  5. ASP.NET MVC4 传递Model到View
  6. 微信公众平台开发--微信网页授权
  7. 基于 Docker 的现代软件供应链
  8. CCIE试验备考之冗余备份VRRP
  9. Validation of ViewState Mac failed exception
  10. MPLS 解决方案有哪些优势?——Vecloud