泛型深入(上)
泛型概述
- 泛型:是JDK5引入的特性,可以在编译阶段约束操作的数据类型,并进行检查。
- 泛型的格式:<数据类型>
- 注意:泛型只能支持引用数据类型
没有使用泛型的时候:
1.如果我们没有给集合指定类型,默认认为所有的数据类型都是Object类型
2.此时可以往集合添加任意的数据类型
3.坏处就是我们在获取数据的时候,无法使用他的特有行为
4.这种时候就推出了泛型,可以把添加数据的时候就把类型进行统一
好处:
1.统一数据类型
2.在运行时期的问题提前到了编译期间,避免了强制类型转换可能出现的异常,因为在编译阶段类型就确定下来了
Java中的而泛型其实是一个伪泛型,因为只是在存的时候做了个数据判断,实际上存进去的还是Object类型的数据
细节:
1.泛型中不能写基本数据类型,必须写他的包装类
2.指定泛型的具体类型后,传递数据是,可以传入该类型或者其子类型(继承)
3.如果不写泛型,类型默认的是Object
泛型类
- 使用场景:当一个类中,某个变量的数据类型不确定时,就可以定义带有泛型的类、
- 格式: 修饰符 class 类名<类型>{}
- 例如:public class ArrayList
{} 创建该类对象时,E就确定类型
此处的E可以理解为变量,但是不是用来记录数据的,而是记录数据的类型,可以写成:E,T,K,V等
泛型方法
方法中形参类型不确定时,可以使用类后面定义的泛型
例如:
方法一:使用类后面定义的泛型 (所有方法都可以用)
方法二:在方法声明定义自己的泛型 (只有本方法能用)
泛型方法类型练习
泛型接口
格式:修饰符 interface 接口名<类型>{}
重点:如何使用一个带泛型的接口
方式1:实现类给出具体类型
方式2:实现类延续泛型,创建对象时候再确定
方式1代码演示:
方式2代码演示:
__EOF__

本文链接:https://www.cnblogs.com/qisui/p/16875443.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人