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

目录

一:包装类

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.mzph.cn/news/126497.shtml

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

相关文章

YOLOv7优化:独家创新(SC_C_Detect)检测头结构创新,实现涨点 | 检测头新颖创新系列

💡💡💡本文独家改进:独家创新(SC_C_Detect)检测头结构创新,适合科研创新度十足,强烈推荐 SC_C_Detect | 亲测在多个数据集能够实现大幅涨点 收录: YOLOv7高阶自研专栏介绍: http://t.csdnimg.cn/tYI0c ✨✨✨前沿最新计算机顶会复现 🚀🚀🚀YOLOv7自研…

正点原子嵌入式linux驱动开发——Linux CAN驱动

CAN是目前应用非常广泛的现场总线之一&#xff0c;主要应用于汽车电子和工业领域&#xff0c;尤其是汽车领域&#xff0c;汽车上大量的传感器与模块都是通过CAN总线连接起来的。CAN总线目前是自动化领域发展的热点技术之一&#xff0c;由于其高可靠性&#xff0c;CAN总线目前广…

java进行支付宝支付(沙箱环境)

目录 1.准备工作 2.idea配置文件准备 3.后端代码编写 接口1&#xff1a;支付订单 接口2&#xff1a;查询订单 接口3&#xff1a;订单退款 接口4&#xff1a;查询退款结果 接口5&#xff1a;获取总账单 接口6&#xff1a;取消订单 接口7&#xff1a;回调接口 定时任务…

docker环境安装+maven依赖继承问题

1&#xff0c;docker环境安装 我们使用yum指令进行安装&#xff0c;分别cmd运行&#xff1a; yum install -y yum-utils device-mapper-persistent-data lvm2 yum-contig-manager --add-repo https://download.docker.com/linux/centos/docker-ce.rep具体解释如下&#xff1a;…

如何创建 SpringBoot 多模块项目

1. 创建父模块 【添加依赖】 【删除父模块资源】 父模块只需要保留 pom.xml&#xff0c;其他文件的全部删除&#xff08;包括 src&#xff09; 2. 创建子模块 3. 修改父模块 3.1 删除不必要的依赖 3.2 添加打包类型 3.3 添加所有子模块 声明子模块有两个好处&#xff1a; …

Pytorch 注意力机制解析与代码实现

什么是注意力机制 注意力机制是深度学习常用的一个小技巧&#xff0c;它有多种多样的实现形式&#xff0c;尽管实现方式多样&#xff0c;但是每一种注意力机制的实现的核心都是类似的&#xff0c;就是注意力。 注意力机制的核心重点就是让网络关注到它更需要关注的地方。 当…

什么是 CNN? 卷积神经网络? 怎么用 CNN 进行分类?(3)

参考视频&#xff1a;https://www.youtube.com/watch?vE5Z7FQp7AQQ&listPLuhqtP7jdD8CD6rOWy20INGM44kULvrHu 视频7&#xff1a;CNN 的全局架构 卷积层除了做卷积操作外&#xff0c;还要加上 bias &#xff0c;再经过非线性的函数&#xff0c;这么做的原因是 “scaled p…

电压放大器在压电陶瓷致动器中的应用有哪些

电压放大器在压电陶瓷致动器中有多种应用。压电陶瓷致动器是一种能够将电能转化为机械能的装置&#xff0c;通过施加电压来使陶瓷材料发生形变或振动。它在许多领域中得到广泛应用&#xff0c;如精密定位、振动控制、压力控制等。下面安泰电子将详细介绍电压放大器在压电陶瓷致…

java修仙基石篇->instanceof子父类检查

instanceof检查子父类&#xff08;或者是否能被强转&#xff09; 作用1&#xff1a;检查某对象是否是某类的子类 如&#xff1a;儿子类继承了父亲类。 检查儿子类对象是否属于父亲类 作用2&#xff1a;检查两个对象是否可以强转 语法&#xff1a; 子类对象 instanceof 父…

物联网智慧种植农业大棚系统

物联网智慧种植农业大棚系统 项目背景 智慧农业是是将物联网技术和农业生产箱管理的新型农业&#xff0c;依托部署在农业生产现场的各种传感节点&#xff0c;以物联网网关为通道形成数据传输网络&#xff0c;可以实现控制柜、环境监测传感器、气象监测机器等设备的远程监控&a…

【计算机网络】数据链路层——以太网

文章目录 前言什么是以太网以太网帧格式6位目的地址和源地址2位类型数据长度CRC 校验和 数据在数据链路层是如何转发的 前言 前面我们学习了关于应用层——自定义协议、传输层——UDP、TCP协议、网络层——IP协议&#xff0c;今天我将为大家分享关于数据链路层——以太网方面的…

B-5:网络安全事件响应

B-5:网络安全事件响应 任务环境说明: 服务器场景:Server2216(开放链接) 用户名:root密码:123456 1.黑客通过网络攻入本地服务器,通过特殊手段在系统中建立了多个异常进程,找出启动异常进程的脚本,并将其绝对路径作为Flag值提交; 通过nmap扫描我们发现开启了22端口,…

C++特殊类的设计

文章目录 设计一个类不能被拷贝请设计一个类&#xff0c;只能在堆上创建对象设计一个类只能在栈上去创建对象设计一个类不能被继承设计一个类&#xff0c;只能创建一个对象(单例模式)饿汉模式懒汉模式 单例模式总结饿汉模式懒汉模式 设计一个类不能被拷贝 拷贝一个类对象可以有…

Kubernetes 概述以及Kubernetes 集群架构与组件

目录 Kubernetes概述 K8S 是什么 为什么要用 K8S K8S 的特性 Kubernetes 集群架构与组件 核心组件 Master 组件 Node 组件 ​编辑 Kubernetes 核心概念 常见的K8S按照部署方式 Kubernetes概述 K8S 是什么 K8S 的全称为 Kubernetes,Kubernetes 是一个可移植、可扩…

面试算法45:二叉树最低层最左边的值

题目 如何在一棵二叉树中找出它最低层最左边节点的值&#xff1f;假设二叉树中最少有一个节点。例如&#xff0c;在如图7.5所示的二叉树中最低层最左边一个节点的值是5。 分析 可以用一个变量bottomLeft来保存每一层最左边的节点的值。在遍历二叉树时&#xff0c;每当遇到新…

【AI数学】三维视觉中的四种坐标系

三维视觉中&#xff0c;需要掌握四种坐标系&#xff1a;世界坐标系、相机视角坐标系、NDC坐标系、屏幕坐标系。 世界坐标系&#xff08;World coordinate system&#xff09; 物体或者场景在真实世界中的位置。 相机视角坐标系&#xff08;Camera view coordinate system&…

springboot的spring.jackson.date-format失效解决

看起来数据库的格式非常完美,但是数据库字段look_date 是 datetime类型,java里没有datetime类型,这样一来如果你不在后端做处理,那么模型属性Date来接收一定会出问题.我通过实验证明最后拿到的是一个时间戳. 第一 解决时间格式问题 1.可以通过application.propertis配置文件中…

Linux 环境下 安装 Elasticsearch 7.13.2

Linux 环境下 安装 Elasticsearch 7.13.2 前言镜像下载&#xff08;国内镜像地址&#xff09;解压安装包修改配置文件用 Es 自带Jdk 运行配置 Es 可被远程访问然后启动接着启动本地测试一下能不能连 Es 前言 借公司的 centos 7 服务器&#xff0c;搭建一个 Es&#xff0c;正好熟…

基于图神经网络的联邦学习跨企业推荐

Federated Learning-Based Cross-Enterprise Recommendation With Graph Neural Networks 论文试图解决什么问题 该论文试图解决跨企业推荐系统中存在的数据共享和用户隐私保护的问题。在许多小型和中型企业中&#xff0c;由于资源有限&#xff0c;无法提供足够的数据来进行大…

HarmonyOS开发:开源一个刷新加载组件

前言 系统Api中提供了下拉刷新组件Refresh&#xff0c;使用起来也是非常的好用&#xff0c;但是风格和日常的开发&#xff0c;有着巨大的出入&#xff0c;效果如下&#xff1a; 显然上面的效果是很难满足我们实际的需求的&#xff0c;奈何也没有提供的属性可以更改&#xff0c;…