首页 > Python资料 博客日记
[初阶数据结构] 包装类 | 泛型
2024-07-05 04:00:04Python资料围观99次
目录
一. 包装类
1.1 什么是包装类?
包装类是java本身预定义的类, 在包装类中存在着成员方法(操作包装类对象), 每个包装类都对应一个基本数据类型. (可以理解为包装类是基本数据类型的plus版本)
1.2 包装类的意义
包装类存在的最大意义就是在使用泛型时, 把包装类作为参数传递.(基本数据类型不能够作为泛型参数传递)
1.3 基本数据类型与包装类
boolean -> Boolean
char -> Character
float -> Float double -> Double
byte -> Byte short -> Short int -> Integer long -> Long
总共有八对, int 和 character 特殊, 其他的都是首字母大写.
1.4 装箱
装箱(装包): 基本数据类型 -> 包装类类型.
装箱分为:
a. 显式装箱.
(使用valueOf方法.)
b. 自动装箱.
1.5 拆箱
拆箱(拆包): 包装类类型 -> 基本数据类型.
拆箱分为:
a. 显式拆箱.
(使用intValue方法.)
b. 自动拆箱.
1.6 小总结
包装类存在的最大意义就是在使用泛型的时候作为参数传递.
二. 泛型
2.1 什么是泛型?
泛型就是一个类可以支持不同的数据类型, 把数据类型作为参数传递, 实现了类型的参数化.
2.2 泛型的意义
a. 实现了代码的复用. (当需要使用这个类实现不同的功能时, 只需要更改传入的类型参数, 而不需要再重新写一个类.)
b. 在传入参数时自动进行类型检查.
c. 在返回时自动进行类型转换.
2.3 泛型的语法
class 类名<参数列表> { // ... }
即 class 类名<T1, T2, T3> { // ... }
2.4 泛型的编译
2.4.1 下载插件
2.4.2 分析
图一:
图二:
可以发现: 在编译完成之后, 所有的T1, T2, T3 都被替换成了 Object (所有类的父类), 这就是 泛型的擦除机制.
也就是说, 泛型只存在于程序编译的过程中, 在编译完成之后(运行时), 不存在泛型.
2.5 上界
语法:
class 类名<T1 extends T2> { // ... }
即 T1 必须是 T2的子类 或者 实现了T2 接口 或者 是 T2.
例子:
T 必须是 Integer的子类 或者是 Integer.
2.6 泛型方法
T extends Number: T是Number的子类 或者 就是 Number.
func(T a, T b): 传入参数时, 进行类型检查.
T func(...): 返回时, 进行类型转换.
test2.<Integer>func(10, 20): 进行类型参数的传递.
泛型方法的意义:
a. 实现了代码的复用.
b. 传参时进行类型检查.
c. 返回时进行类型转换.
2.7 小总结
泛型就是进行了类型的传递, 以此来实现代码的复用.
三. 总结
a. 包装类存在的最大意义就是在使用泛型时, 作为参数传递.
b. 泛型就是进行了类型的传递, 并以此来实现代码的复用.
标签:
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Anaconda版本和Python版本对应关系(持续更新...)
- Python与PyTorch的版本对应
- Windows上安装 Python 环境并配置环境变量 (超详细教程)
- Python pyinstaller打包exe最完整教程