Java泛型学习笔记 - 浅析泛型中通配符的使用

Posted ZhenyuGo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java泛型学习笔记 - 浅析泛型中通配符的使用相关的知识,希望对你有一定的参考价值。

一、基本概念:
在学习Java泛型的过程中, 通配符是较难理解的一部分. 主要有以下三类:
1. 无边界的通配符(Unbounded Wildcards), 就是<?>, 比如List<?>.
  无边界的通配符的主要作用就是让泛型能够接受未知类型的数据.
2. 固定上边界的通配符(Upper Bounded Wildcards):
  使用固定上边界的通配符的泛型, 就能够接受指定类及其子类类型的数据. 要声明使用该类通配符, 采用<? extends E>的形式, 这里的E就是该泛型的上边界. 注意: 这里虽然用的是extends关键字, 却不仅限于继承了父类E的子类, 也可以代指显现了接口E的类.
3. 固定下边界的通配符(Lower Bounded Wildcards):
  使用固定下边界的通配符的泛型, 就能够接受指定类及其父类类型的数据. 要声明使用该类通配符, 采用<? super E>的形式, 这里的E就是该泛型的下边界. 注意: 你可以为一个泛型指定上边界或下边界, 但是不能同时指定上下边界.

以上是关于Java泛型学习笔记 - 浅析泛型中通配符的使用的主要内容,如果未能解决你的问题,请参考以下文章

Java泛型中T和问号(通配符)的区别

Java泛型中使用通配符或有界类型参数是啥?

Java泛型中的通配符

java泛型中的上下界通配符

java 泛型中 TE ... 和 问号(通配符)的区别

java泛型中的通配符