谈谈<? extends T> 和<? super T>理解

项目中遇到<? extends T> 和<? super T> 这两者,来说说自己的理解。首先我们先了解什么是泛型

什么是泛型

泛型是在编译阶段一种防止错误对象输入的机制。编译之后该泛型就无效了。

<? extends T>

  1. 理解:泛型 ?必须来自T 类以及T类的派生类,相当于 T 类的派生类 <= ? <= T 类
  2. 只允许读,不可以写

<? super T>

  1. 理解:泛型 ?必须来自T 类以及T类的基类,相当于 T 类 <= ? <= T 类的基类
  2. 只允许写,不可以读
原文地址:https://www.cnblogs.com/Lollipop_Hsu/p/11330263.html