[初阶数据结构] 包装类 | 泛型
创始人
2025-01-15 21:06:25
0

目录

一. 包装类

        1.1 什么是包装类? 

        1.2 包装类的意义

        1.3 基本数据类型与包装类 

        1.4 装箱

        1.5 拆箱 

        1.6 小总结

二. 泛型 

        2.1 什么是泛型?

        2.2 泛型的意义 

         2.3 泛型的语法

         2.4 泛型的编译

                2.4.1 下载插件

                2.4.2 分析

        2.5 上界

        2.6 泛型方法

         2.7 小总结

三. 总结


一. 包装类

        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 类名 { // ... }

         2.4 泛型的编译

                2.4.1 下载插件

                2.4.2 分析

图一:  

                     

图二:

    

可以发现: 在编译完成之后, 所有的T1, T2, T3 都被替换成了 Object (所有类的父类), 这就是 泛型的擦除机制.

也就是说, 泛型只存在于程序编译的过程中, 在编译完成之后(运行时), 不存在泛型. 

        2.5 上界

语法:

class 类名 { // ... }

即 T1 必须是 T2的子类 或者 实现了T2 接口 或者 是 T2. 

例子:

T 必须是 Integer的子类 或者是 Integer.

        2.6 泛型方法

T extends Number: T是Number的子类 或者 就是 Number.

func(T a, T b): 传入参数时, 进行类型检查.

T func(...): 返回时, 进行类型转换.

test2.func(10, 20): 进行类型参数的传递.

泛型方法的意义:

a. 实现了代码的复用.

b. 传参时进行类型检查.

c. 返回时进行类型转换.

         2.7 小总结

泛型就是进行了类型的传递, 以此来实现代码的复用.


三. 总结

a. 包装类存在的最大意义就是在使用泛型时, 作为参数传递.

b. 泛型就是进行了类型的传递, 并以此来实现代码的复用.

相关内容

热门资讯

第九分钟辅助!天天爱柳州辅助器... 天天爱柳州辅助器是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微...
热门推荐!微信小程序蜀山辅助器... 热门推荐!微信小程序蜀山辅助器免费下载(辅助)外挂辅助开挂插件(有挂秘诀)-哔哩哔哩;最新版2026...
第4分钟普及!奇迹陕西辅助器(... 第4分钟普及!奇迹陕西辅助器(透视)原来真的是有挂脚本(推荐开挂软件);奇迹陕西辅助器免费下载原版,...
第八分钟讲解!越乡游金花辅助,... 第八分钟讲解!越乡游金花辅助,九酷众游辅助,细节方法(有挂实锤)-哔哩哔哩1、下载安装好越乡游金花辅...
透视软件!浙江宝宝游戏辅助工具... 透视软件!浙江宝宝游戏辅助工具(辅助)外挂开挂辅助插件(了解有挂)-哔哩哔哩;是一款可以让一直输的玩...
第5分钟发现!桃乐甘肃麻将下载... 《第5分钟发现!桃乐甘肃麻将下载辅助器(辅助)原来有挂软件(必看开挂工具)》 桃乐甘肃麻将下载辅助器...
第8分钟了解!河洛刚次辅助,温... 第8分钟了解!河洛刚次辅助,温州茶苑辅助软件,详细教程(有挂攻略)-哔哩哔哩;无需打开直接搜索加薇1...
热点讨论!新二号辅助软件下载(... 热点讨论!新二号辅助软件下载(辅助)外挂辅助开挂软件(有挂教程)-哔哩哔哩;是一款可以让一直输的玩家...
8分钟解说!网易亲友圈辅助(开... 8分钟解说!网易亲友圈辅助(开挂)原来有挂平台(必看开挂安装);小薇(透视辅助)致您一封信;亲爱网易...
第5分钟开挂!如何在哈灵上辅助... 第5分钟开挂!如何在哈灵上辅助,决战卡五星辅助看牌器,解说技巧(有挂方略)-哔哩哔哩 了解更多开挂安...