05.泛型 extends和super-Java第一阶
2021/8/15 17:05:36
本文主要是介绍05.泛型 extends和super-Java第一阶,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
java的一个设计理念是 ,与泛型相关的异常最好是在编译期间就被发现 , 因此设 计了extends与super这两种方式 。具体来说 ,List<? extends T>表示该集合中存在的都是类型T的子类 ,包括T自 己 。
而List<? super T>表示该集合中存的都是类型T的父类 ,包括T自己 。
List<? extends T>如果去添加元素的时候 , 因为list中存放的其实是T的一种子 类 ,如果我们去添加元素 ,其实不知道到底应该添加T的哪个子类 ,这个时候桥 接方法在进行强转的时候会出错 。但是如果是从集合中将元素取出来 ,我们可以 知道取出来的元素肯定是T类型 。所以? extends T这种方式可以取元素而不能添 加 ,这个叫get原则 。List<? super T>因为存的都是类型T的父类 ,所以如果去添加T类或者T类子类的 元素 ,肯定是可以的 。但是如果将元素取出来 ,则不知道到底是什么类型 ,所 以? super T可以添加元素但是没法取出来 ,这个叫put原则 。常见的一些泛型标识就是T(类型)、E(元素)、K(key)、V(value)、? (通配符 ,不确定的)这几个 ,其实填任何字母都行 。
这篇关于05.泛型 extends和super-Java第一阶的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求
- 2024-10-01使用 golang 将ETH账户的资产平均分散到其他账户
- 2024-10-01JWT用户校验课程:从入门到实践
- 2024-10-01Server Component课程入门指南