泛型的上下限怎么理解

简介: 实体类public class Fruit {}class Apple extends Fruit{}class Pear extends Fruit{}class Orange extends Fruit{}复制代码泛型的上限如下图,可以看到这里是不允许再添加任何实例的,只能从该list中去获取实例。为什么不能添加呢?🐖因为这个list 可能有以下几个情况list是Fruit类型的,此时你去添加Fruit的子类都没问题list是Apple类型的,此时你只能添加Apple,同理Pear,Orange也是。🙃根本不晓得传进来的参数list会是哪种类型

实体类


public class Fruit {
}
class Apple extends Fruit{}
class Pear extends Fruit{}
class Orange extends Fruit{}
复制代码


泛型的上限


如下图,可以看到这里是不允许再添加任何实例的,只能从该list中去获取实例。


网络异常,图片无法展示
|


为什么不能添加呢?🐖


因为这个list 可能有以下几个情况


  1. list是Fruit类型的,此时你去添加Fruit的子类都没问题


  1. list是Apple类型的,此时你只能添加Apple,同理Pear,Orange也是。🙃


根本不晓得传进来的参数list会是哪种类型,当然不能随意添加啦, 如果list是Apple类型的,那就不能添加除Apple之外的,那如果是Pear呢,也一样,所以就全都不能添加啦。


为什么可以取出呢?🐖


因为我们从list中拿出来的必定是Fruit类型的,毕竟Apple等都去继承Fruit了,可以自动向上转型


泛型的下限


如图,下限和上限相反,上限get,下限add


可以看到下图get拿到的都是object类型,没有意义🐖


网络异常,图片无法展示
|


为什么super可以添加呢?🐖


这里定义了下限是Fruit,也就是说这个list里面的类型都是Fruit的父类,所以我们只能添加Fruit和他的子类。


为什么不可以取出呢?🐖


因为取的时候没法确实是Fruit的哪个父类,最后都只能获取我们的根类Object


小结


泛型的上限<? extends T>用在频繁获取数据的场景, 泛型的下限<? super T>用在频繁添加数据的场景



目录
相关文章
|
6月前
|
存储 编解码 数据可视化
Hi-C 数据的可视化与注释
Hi-C 数据的可视化与注释
Hi-C 数据的可视化与注释
|
8月前
|
人工智能 测试技术 定位技术
WorldScore:斯坦福开源世界生成模型评估新标杆:3000样本+九维指标,视频/4D/3D模型一网打尽
WorldScore是斯坦福大学提出的首个统一评估世界生成模型的基准测试,通过基于相机轨迹的布局规范和3000个多样化样本,全面评测生成内容的可控性、质量与动态性。
522 46
WorldScore:斯坦福开源世界生成模型评估新标杆:3000样本+九维指标,视频/4D/3D模型一网打尽
|
11月前
|
关系型数据库 MySQL PHP
免登录游客卡密发放系统PHP网站源码
这是一个简单易用的卡密验证系统,主要功能包括: 卡密管理和验证,多模板支持,响应式设计,验证码保护,防刷机制,简洁的用户界面, 支持自定义模板,移动端优化,安全性保护,易于部署和维护。
614 77
|
计算机视觉 Python
Python实用记录(一):如何将不同类型视频按关键帧提取并保存图片,实现图片裁剪功能
这篇文章介绍了如何使用Python和OpenCV库从不同格式的视频文件中按关键帧提取图片,并展示了图片裁剪的方法。
558 0
|
9月前
|
机器学习/深度学习 存储 算法
量子算法的设计与优化:迈向量子计算的未来
量子算法的设计与优化:迈向量子计算的未来
324 3
|
9月前
|
人工智能 自然语言处理 搜索推荐
HiFox AI:一站式 AI 应用平台,多模型快速接入,自由选用
HiFox AI 是一站式AI应用平台,整合了30多个主流AI模型,提供文本生成、对话交流、图片生成等多种应用场景。平台内置1000+预构建AI应用,支持无代码搭建个性化应用和复杂工作流,帮助用户高效处理重复任务,显著提升工作效率。无论是普通用户还是技术专家,都能在HiFox AI上找到适合自己的解决方案,实现“人人都能使用AI”的愿景。
|
12月前
|
敏捷开发 监控 数据可视化
项目管理仪表盘详解:高效团队协作从这里开始
从IT开发到工程建设、从市场营销到研发项目,仪表盘都可以通过整合和可视化关键数据,帮助团队协作、监控进度、优化资源配置,从而确保项目按时、高质量交付。
556 0
项目管理仪表盘详解:高效团队协作从这里开始
|
监控 安全 自动驾驶
|
数据可视化 搜索推荐 vr&ar
全景可视化特点+可视化功能实现
全景可视化特点+可视化功能实现
304 2
|
人工智能 搜索推荐 5G