项目中遇到<? extends T> 和<? super T> 这两者,来说说自己的理解。首先我们先了解什么是泛型
什么是泛型
泛型是在编译阶段一种防止错误对象输入的机制。编译之后该泛型就无效了。
<? extends T>
- 理解:泛型 ?必须来自T 类以及T类的派生类,相当于
T 类的派生类 <= ? <= T 类
- 只允许读,不可以写
<? super T>
- 理解:泛型 ?必须来自T 类以及T类的基类,相当于
T 类 <= ? <= T 类的基类
- 只允许写,不可以读
项目中遇到<? extends T> 和<? super T> 这两者,来说说自己的理解。首先我们先了解什么是泛型
泛型是在编译阶段一种防止错误对象输入的机制。编译之后该泛型就无效了。
T 类的派生类 <= ? <= T 类
T 类 <= ? <= T 类的基类
转载于:https://www.cnblogs.com/Lollipop_Hsu/p/11330263.html