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

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

什么是泛型

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

<? extends T>

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

<? super T>

  1. 理解:泛型 ?必须来自T 类以及T类的基类,相当于 T 类 <= ? <= T 类的基类
  2. 只允许写,不可以读
posted @ 2019-08-10 00:43  Lollipop.Hsu  阅读(157)  评论(0编辑  收藏  举报