Java中的泛型

前端之家收集整理的这篇文章主要介绍了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对象里

猜你在找的Java相关文章