Java中的泛型

<h1 id="通配符是什么">通配符是什么

Highlighter-rouge">
指的是Object及其子类,也就是所有Java对象

  1. Highlighter-rouge">:Element (容器中的元素,如集合)
  2. Highlighter-rouge">
  3. Highlighter-rouge">:Key(键)
  4. Highlighter-rouge">:Value(值)
  5. Highlighter-rouge">
  6. Highlighter-rouge">、<Highlighter-rouge">Highlighter-rouge">

Highlighter-rouge">
声明一个泛型类或者泛型方法示例:

Highlighter-rouge">

 

Highlighter-rouge">
使用一个泛型类或者泛型方法示例:

Highlighter-rouge">
ResultDTO entity( ResultEnum resultEnum = (0== ResultDTO } ResultDTO }

通配符之边界">通配符之边界

通配符要加边界">为什么通配符要加边界

为了解决容器中存储的元素不能是该基类(Highlighter-rouge">父类)的Highlighter-rouge">子类

通配符">上界通配

关键字:Highlighter-rouge">extends
禁止做插入操作,只做读取
最大只能是该Highlighter-rouge">基类Highlighter-rouge">父类)的Highlighter-rouge">子类

Highlighter-rouge">

 

通配符">下界通配

关键字:Highlighter-rouge">super
最小只能是该Highlighter-rouge">子类,不能是该类的Highlighter-rouge">子类无法确定存入类型,可以插入操作,而无法读取操作
Highlighter-rouge">AppleHighlighter-rouge">Fruit,Highlighter-rouge">FruitHighlighter-rouge">Food

Highlighter-rouge">
ResultDTO Fruit> entity( ResultEnum resultEnum = (0== ResultDTO }(1== ResultDTO } ResultDTO(resultEnum,data); }

报错

 to ResultDTO

Producer Extends Consumer Super原则

  1. Highlighter-rouge">extends
  2. Highlighter-rouge">super

  1. 声明泛型不能用无边界通配Highlighter-rouge">
  2. 上界不能往里存,只能往外取
  3. 下界不影响往里存,但往外取只能放在Object对象里

相关文章

ArrayList简介:ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增...
一、进程与线程 进程:是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 线程...
本文为博客园作者所写:&#160;一寸HUI,个人博客地址:https://www.cnblogs.com/zsql/ 简单的一个类...
#############java面向对象详解#############1、面向对象基本概念2、类与对象3、类和对象的定义格式4、...
一、什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错。在java中,阻止当前方法或作用域...
Collection接口 Collection接口 Collection接口 Collection是最基本的集合接口,一个Collection代表一组...