Java中的包装类

news/2024/9/18 6:13:35/

基本数据类型的豪华版---包装类

  • 基本数据类型
  • 包装类

基本数据类型

在我们刚开始学习Java的时候,我们学习的应该就是Java中的八种基本数据类型:
byte short int long float double char boolean
当时我们还说过Java是面向对象编程的语言,一切皆对象,但是受到当时知识的限制,我们还是没有办法把一个数据当成一个对象来操作,当时我就跟兄弟们说了,不要着急,Java中八种基本数据类型都会有其对应的包装类,今天我就来给兄弟们盘一盘包装类!

包装类

首先我们要知道,包装类是八种基本数据类型的升级版,也只有这八种数据类型才有其对应的包装类,我们只要记住int的包装类是Integer以及char的包装类是Character就行,其他的直接是首字母大写!

        int a=10;Integer A=a;(自动装箱/)隐式的int b=A;

这里编译器是可以运行的,因为Integerint的包装类,所以这两者之间才可以相互转化的,在底层我们可以看到的是Java会自动给你调用一个valueOf( )方法,也就是说自动装箱的原理实际上就是调用了这个方法:

        Integer A=Integer.valueOf(a);int b=A.intValue()

看到此情此景,兄弟们心中是否有一点感受?
为什么我们要这个包装类呢?
是不是当我们把基本数据类型给包装成一个类之后,我们势必可以在这个类中写一些成员变量,更可以写一些成员方法,就比如这个Integer.valueOf 我们可以明显感觉到,这一定是一个静态方法,不然不可能可以直接通过类名进行调用:
在这里插入图片描述
果不其然!
而且通过一些猜想加实践,我们可以知道的是每一个包装类都有类似的性质,里面都会有valueOf方法,而且用哪个包装类.出来的valueOf最终就会变成哪个类型的.
小题目:

Integer a = 1;
Integer b = 1;
Integer c = 555;
Integer d = 555;
System.out.println(a == b);
System.out.println(c == d);

请问a和b c和d相等吗?
在这里插入图片描述
为什么这里一个相等一个不等呢?
知其然,知其所以然!我们在这个程序中,只执行了一个操作:装箱,那我们就去看看装箱的过程中发生了什么呗!
在这里插入图片描述
看到这个源码我们就不难理解为什么会有刚才的现象了,如果我们要装箱的这个数字在一个范围之内,那我们里外里返回的都将是数组里面的,也就是现成的东西,但是如果,如果超过了这个限制,那不好意思,我们就要重新new一个对象了,而我们知道,引用类型比较比较的向来都是地址,两个不同的对象地址当然不同啦!!

这就是关于包装类我目前能够分享给大家的知识,希望能够帮助到大家.
百年大道,你我共勉!


http://www.ppmy.cn/news/12714.html

相关文章

校招求职HR常问问题汇总

前言 前言:面试是一次重要的自我销售的过程,只不过销售的产品是你自己,你要做的就是说服面试官认为你是优秀的,从而给你一个工作机会。 文章目录前言一、回答问题的原则二、自我介绍1、注意2、模板3、达到的效果三、你还有什么问题…

卷积神经网络中特征图大小计算公式总结

W:输入特征图的宽,H:输入特征图的高K:kernel size卷积核宽和高,P:padding(特征图需要填充的0的个数),S:stride步长width_out:卷积后输出特征图的宽…

回首2022展望2023

回首2022,虽然经历反复的居家办公,但仍然努力客服家庭与工作的时间冲突,很好的完成了开发任务。并在疫情变换间隙,带着部门同事做了几次团建,锻炼了队伍,提高了凝聚力。我同时坚信迟早会全面放开。在闲暇之…

Go语言运算符

Go语言运算符 参考资料主要来源于菜鸟教程。 运算符用在程序运行时执行数学逻辑运算。 Go语言内置的运算符有: 算术运算符关系运算符逻辑运算符位运算符赋值运算符其它运算符 算术运算符 下表列出所有Go语言的算术运算符。假定A值为10,B值20。 运算符…

理解CSS

CSS 作为前端技术栈中关键一环,对页面元素及样式呈现起到了直接作用。本节课旨在通过对 CSS 的工作流程及原理、页面中 CSS 使用方法等详细解读,帮助前端新手建立对 CSS 的全面而深刻的认知。 CSS概念 CSS 即 Cascading Style Sheets,是用来…

[idekCTF 2023] Malbolge I Gluttony,Typop,Cleithrophobia,Megalophobia

这些题名字我都不认识,这是什么语呀。这个比赛感觉太难了,加上春节将近比较忙,仅作了4个简单题。记录一下。Misc/Malbolge I Gluttony这是个虚拟机的题,放入misc感觉有点不可思忆,题目给了7个命令,有"…

【初阶数据结构】——写了将近 5 万字,终于把 二叉树 初阶的内容讲清楚了

文章目录前言1. 树的概念及结构1.1 树的概念1.2 树与非树1.3 树的相关概念1.4 树的表示1.5 树在实际中的运用(表示文件系统的目录树结构)2. 二叉树概念及结构2.1 概念2.2 现实中的二叉树2.3 特殊的二叉树2.3.1 满二叉树2.3.1 完全二叉树2.4 二叉树的性质…

计讯物联数字乡村解决方案赋能乡村振兴

项目背景 数字乡村是乡村振兴的战略方向,是推动农村现代化的重要途径。当前,数字乡村建设正在加速推进,打造乡村数字治理新模式,提升乡村的数字化水平,进一步推动乡村振兴进入高质量发展新赛道。计讯物联作为数字乡村…

3.Python基础之流程控制

文章目录Python基础之流程控制顺序结构分支(选择)结构单项分支双项分支多项分支巢状分支循环结构whilefor ... in(字典的特殊使用)[https://blog.csdn.net/yaoyuanna/article/details/126009259]流程控制语句breakcontinuepassPython基础之流程控制 流程分类: 流程…

SpringBoot 注册自己的Servlet(三种方式)

SpringBoot 注册自己的Servlet(三种方式) 目录SpringBoot 注册自己的Servlet(三种方式)方法1:使用servlet3.0规范提供的注解方式注册Servlet1,声明servlet及映射2,加上ServletComponentScan 才会扫描加了这个注解运行结…

HTTP/HTTPS协议介绍

数据来源 HTTP简介 01 什么是HTTP 超文本传输协议(HyperTextTransferProtocol缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。 HTP( Hyper Text Transfer Protocol超京本传输协议) 是一个基于请求与响应 无状态的,应…

《Stealth秘密行动》游戏开发记录

游戏开发的学习记录项目:Stealth秘密行动开始时间:2022.12.30一、新学到的:二、遇到的问题:三、成品部分展示:游戏开发的学习记录⑧ 项目:Stealth秘密行动 开始时间:2022.12.30 (…

【ESP 保姆级教程】玩转emqx篇 ——初识emqx

忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2023-01-15 ❤️❤️ 本篇更新记录 2022-01-15 ❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请…

AtCoder Beginner Contest 285解题报告

A - Edge Checker 2 Problem Statement Determine if there is a segment that directly connects the points numbered a and b in the figure below. Constraints 1≤a<b≤15a and b are integers.Input The input is given from Standard Input in the following for…

详解数据库的锁机制及原理

详解数据库的锁机制及原理1.数据库锁的分类2.行锁共享锁&#xff08;读锁S锁&#xff09;排他锁&#xff08;写锁X锁&#xff09;更新锁3.意向锁&#xff08;IX/IS锁&#xff09;4.锁机制解释数据库隔离级别5.间隙锁1.数据库锁的分类 本图源自CSDN博主&#xff1a;Stephen.W 数…

LeetCode刷题模版:111 - 120

目录 简介111. 二叉树的最小深度112. 路径总和113. 路径总和 II114. 二叉树展开为链表115. 不同的子序列116. 填充每个节点的下一个右侧节点指针117. 填充每个节点的下一个右侧节点指针 II118. 杨辉三角119. 杨辉三角 II120. 三角形最小路径和结语简介 Hello! 非常感谢您阅读海…

Go语言并发编程及依赖管理

目录&#x1f9e1;并发编程GoroutineCSP(Communicating Sequential Processes)&#x1f9e1;依赖管理依赖演变依赖管理三要素&#x1f49f;这里是CS大白话专场&#xff0c;让枯燥的学习变得有趣&#xff01; &#x1f49f;没有对象不要怕&#xff0c;我们new一个出来&#xff0…

Http客户端 Feign 的使用 (黑马springcloud笔记)

Feign基本使用 目录Feign基本使用一、Feign代替RestTemplate二、自定义配置三、Feign使用优化1. 底层优化2. 日志优化四、最佳实践方式一&#xff1a;继承方式二&#xff1a;抽取一、Feign代替RestTemplate 步骤&#xff1a; 引入依赖 <dependency><groupId>org.s…

RT-Thread系列--组件初始化

一、目的RT-Thread里面有个特别有意思的软件设计叫做组件自动初始化。有些小伙伴可能是第一次听说&#xff0c;所以这边我解释一下&#xff0c;请看下面的代码片段static void clock_init() {// 时钟初始化 } static void uart_init() {// 串口初始化 } static void i2c_init()…

自动驾驶专题介绍 ———— 超声波雷达

文章目录介绍工作原理特点常见参数介绍 在汽车碰撞事故中&#xff0c;有大约15%的事故是因为倒车时汽车的后视能力不足引起的&#xff0c;因为增加汽车的后视能力的超声波雷达的研究成为了当下的热点之一。安全避免碰撞的前提是快速准确的测量障碍物于汽车之间的距离。超声波雷…