【Java数据结构重点知识】第三节:认识包装类和泛型

news2025/2/25 21:40:35

目录

一:包装类

1.什么是包装类

2.装箱和拆箱

3.一个经典面试题

二:泛型

1.什么是泛型

2.语法

3.使用

4.泛型是如何编译的

5.泛型的上界


一:包装类

1.什么是包装类

(1)概念:在Java中,由于基本类型不是继承自Object。为了在泛型代码中可以支持基本类型,Java给每个基本类型都对应了一个类

(2)基本数据类型分别对应的包装类

基本数据类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

2.装箱和拆箱

(1)装箱:把一个基本数据类型转化为包装类型的过程

(2)拆箱:把一个包装类型转化为结拜呢数据类型的过程

(3)自动装箱和显示装箱

(4)自动拆箱和显示拆箱

3.一个经典面试题

(1)每个包装类对象都封装了基本类型的一个值,在-128到127之间会缓存起来,比较的是缓存起来的值,在此之外的范围,是比较的对象(因为会new新的出来)

 (2)在包装类中推荐用equals来比较值的大小;如果使用“==”比较时是不同的(对于基本类型来说,比较的是值;而对于引用数据类型来说,比较的是对象的内存地址)

二:泛型

1.什么是泛型

(1)简单来说,就是适用于许多类型;代码方面来说,就是对类型实现参数化

(2)泛型目的:就是指定当前容器,需要持有什么类型的对象,让编译器去做检查,这时,就可以把类型进行参数传递,需要什么类型,就传什么类型

2.语法

(1)定义一个泛型类

class 泛型类名 <类型参数列表  [extends 继承类]>{

        //这里可以使用类型参数

}

(2)定义一个泛型引用

泛型类 <类型实参>  变量名;

(3)定义一个泛型对象

new 泛型类 <类型实参>  {构造方法实参}};

(4)定义一个泛型方法

方法限定符 <类型参数列表 >  返回值类型 方法名称<形参列表>{

}

3.使用

(1)不能实例化一个泛型数组

(2)<T>代表当前类是一个泛型类

(3)泛型优点:数据类型参数化,编译是自动进行类型检查和转化

4.泛型是如何编译的

        擦除机制:在编译时,将所有的T擦除为Object.

5.泛型的上界

(1)语法:

class 泛型类名称 <类型参数 extends 类型边界>{

}

(2)例子:

E是number或者number的子类。

String 不是number的子类型所以报错

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1158770.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Leetcode刷题---多数元素(计数、哈希表、摩尔投票)

题目描述&#xff1a; 思路一&#xff1a; 可以使用暴力破解来解决此问题&#xff0c;但是暴力破解的时间复杂度很高&#xff0c;在leetcode测试的时候爆出来超出时间限制的问题。 代码&#xff1a; class Solution {public int majorityElement(int[] nums) {int nnums.leng…

野指针成因与避免方法

野指针 定义&#xff1a;指针指向的位置是不可知的&#xff08;随机的&#xff0c;不正确的&#xff0c;没有明确限制的&#xff09; 一、野指针的成因 1、指针未初始化 #include <stdio.h>int main(void) {// 定义一个未初始化的指针并赋值int* p; *p 5;// 打印输出指…

compileSdkVersion, minSdkVersion,targetSdkVersion的区别

minSdkVersion : 主要用于安卓系统环境校验。开发人员觉得满足app最佳正常运行的最低安卓环境版本&#xff0c;如果安卓系统低于设置的minSdkVersion将无法安装。 targetSdkVersion: 主要用于安卓系统环境校验。开发人员觉得满足app最佳正常运行的最高安卓环境版本&#xff0c…

SwiftUI 如何为文件和图片加入便捷的快速预览功能

功能需求 在 SwiftUI 开发的 App 中,我们有时需要以快速预览(QuickLook)的方式向用户展示文件内容,自己动手去处理上百种文件类型的预览是不现实的。 如上图所示:我们在 SwiftUI 中实现了任意文件的快速预览,这是如何完成的呢? 在本篇博文中您将学到如下内容: 功能需…

资源管理命令-陈述式

资源管理介绍 资源管理概念 在kubernetes中&#xff0c;所有的内容都抽象为资源&#xff0c;用户需要通过操作资源来管理kubernetes。 //kubernetes的本质就是一个集群系统&#xff0c;用户可以在集群中部署各种服务&#xff0c;起始就是在kubernetes集群中运行一个个容器&am…

网络爬虫——urllib(5)

前言&#x1f36d; ❤️❤️❤️网络爬虫专栏更新中&#xff0c;各位大佬觉得写得不错&#xff0c;支持一下&#xff0c;感谢了&#xff01;❤️❤️❤️ Python网络爬虫_热爱编程的林兮的博客-CSDN博客 上一篇我们讲解有关ajax的相关案例&#xff0c;下面我们来学习新的关于ur…

开发小程序需要多少钱?

随着移动互联网的快速发展&#xff0c;小程序已经成为了企业、个人创业者获取用户、提升品牌影响力的重要工具。然而&#xff0c;对于许多初次接触小程序的人来说&#xff0c;开发小程序需要多少钱&#xff0c;是他们最关心的问题。 首先我们需要明确的是&#xff0c;开发小程…

AI技术发展:防范AI诈骗,守护数字安全

随着AI技术的迅猛发展&#xff0c;人工智能赋予了计算机更多的能力&#xff0c;包括自然语言处理、图像生成、声音合成等。这些领域的突破为人们提供了全新的体验和便捷&#xff0c;但同时也催生了一些潜在的安全风险&#xff0c;其中最突出的就是AI诈骗。本文将探讨如何防范AI…

echarts 地图迁徙与地图下钻

echarts 地图迁徙与地图下钻 一、迁徙 1、引入中国地图数据及echarts const china require("./echarts-mapJson-master/china.json") import * as echarts from echarts2、数据准备 // 点数据 需要hover或点击获取数据可以添加额外的参数&#xff0c; // 如{ val…

前端开发必知:HTML、Vue和React中的跨域页面跳转解决方案

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

万物皆可“云” 从杭州云栖大会看数智生活的未来

文章目录 前言一、云栖渐进&#xff1a;一个科技论坛的变迁与互联网历史互联网创新创业飞天进化飞天智能驱动数字中国 二、2023云栖大会&#xff1a;云计算人工智能 玩出科技跨界新花样大会亮点重磅嘉宾热门展览算力馆人工智能馆产业创新馆 总结 前言 10月31日&#xff0c;202…

查询平均提速 700%,奇安信基于 Apache Doris 升级日志安全分析系统

本文导读&#xff1a; 数智时代的到来使网络安全成为了不可忽视的重要领域。奇安信作为一家领先的网络安全解决方案领军者&#xff0c;致力于为企业提供先进全面的网络安全保护&#xff0c;其日志分析系统在网络安全中发挥着关键作用&#xff0c;通过对运行日志数据的深入分析…

做好团队沟通和协调 不可忽略的5个重点

做好团队的沟通和协调&#xff0c;可以确保成员之间及时交流、分享信息和解决问题。这有助于避免信息滞后和工作冲突&#xff0c;提高工作效率。如果沟通不顺畅&#xff0c;往往导致成员间信息传递不及时或遗漏&#xff0c;容易产生误解和冲突&#xff0c;影响项目进度地顺利开…

【LVS实战】02 搭建一个LVS-NAT模式实验

一、网络结构 用虚拟机搭建如下的几台机器&#xff0c;并配置如下的ip 关于虚拟机网卡和网络的配置&#xff0c;可以参考 iptables章节&#xff0c;05节&#xff1a;网络转发实验 主机A模拟外网的机器 B为负载均衡的机器 C和D为 RealServer 二、C和D主机的网关设置 C和D机…

专业医学病例翻译公司推荐

我们知道&#xff0c;医学病例翻译在涉外看病的患者中具有广泛的应用&#xff0c;它可以帮助医生快速了解患者的病情&#xff0c;为治疗和药物处方提供关键信息。因此&#xff0c;对于出国看病的患者&#xff0c;医学病例翻译便成了不可或缺的重要工具。 翻译医学病例不仅要求译…

使用 Node.js 搭建 API 网关

您好&#xff0c; 如果喜欢我的文章或者想上岸大厂&#xff0c;可以关注公众号「量子前端」&#xff0c;将不定期关注推送前端好文、分享就业资料秘籍&#xff0c;也希望有机会一对一帮助你实现梦想 外部客户端访问微服务架构中的服务时&#xff0c;服务端会对认证和传输有一些…

如何将微信视频号的视频保存到手机相册?

微信视频号是近年来微信推出的一项功能&#xff0c;它允许用户通过手机拍摄和分享短视频内容。然而&#xff0c;许多人纷纷表示他们想要保存微信视频号上的视频&#xff0c;以便在离线时观看。但一直以来这个需求腾讯一直没有开放随后也取消了复制视频链接功能&#xff0c;为此…

最全的操作系统原版镜像,镜像winxp、win7、8、10、11,win server2008、2012、2016、2019、2022各版本系统下载 址

1、 MSDN原版系统(我告诉你&#xff09; [软件、镜像下载地址](https://www.imsdn.cn/)2、 HelloWindows.cn 精校 完整 极致 Windows系统下载仓储站 镜像、软件下载地址 3、系统库 镜像下载地址 4、 山己几子木 镜像下载地址

Redis Predixy 集群

文章目录 一、概述二、测试规划三、Redis 服务实例准备3.1 配置Redis实例3.2 创建相关资源3.2 启动Redis服务实例 四、Sentinel 监控准备4.1 配置 sentine l3.2 开启 Sentinel 五、安装配置 Predixy5.1 下载 Predixy5.2 配置 Predixy5.3 启动 Predixy 代理 六、测试 如果您对Re…

快手协议算法最新版

快手的协议分析是指对快手算法系统进行分析&#xff0c;以了解其推荐内容和个性化用户体验的机制。 然而&#xff0c;一般来说&#xff0c;协议分析的目标是理解算法系统中各个组成部分的功能和作用&#xff0c;以及它们之间的相互关系。以下是一些常见的分析方向&#xff1a;…