当前位置: 首页 > news >正文

Java中包装类有什么用?

目录一. Java中的八种基本数据类型是哪八种二. 什么是包装类三. 包装类的常见用法四. 包装类的缓存值五. 自动装箱和自动拆箱一. Java中的八种基本数据类型是哪八种答在Java中数据类型主要分为基本数据类型和引用数据类型用下面这幅图大家就可以非常清楚这里我在顺便把基本数据类型的大小也给展示出来在这里需要补充一点关于 float 和 doublefloat 是单精度浮点数而 double 是双精度浮点数所以 double 比 float 更加精确。float 为了和 double 做区分通常会在声明变量的时候在末尾加上小写的 ‘ f ’ 。二. 什么是包装类我们知道Java是一个面向对象编程的语言但是 Java 中的八种基本数据类型不能作为对象来使用为了解决这个不足之处同时也为了使用的方便我们就为这八种基本数据类型分别设计了对应的类进行代表这八种基本数据类型对应的类就被我们称为是包装类。八种基本数据类型对应的包装类列举出来如下boolean -- Booleanchar -- Character;byte -- Byte;short -- Short;long -- Long;int -- Integer;float -- Float;double -- Double;三. 包装类的常见用法第一对基本数据类型进行包装之后我们就可以把它看成是一个对象方便我们涉及到对象的操作。例如 int 型的数字无法变为 String 类型但如果我们将 int 包装成对象 Integer 类型就可以调用 toString 方法转换成字符串类型第二包装类每种基本数据类型的相关属性如最大值最小值等以及相关的操作方法。四. 包装类的缓存值我们先看下图运行上面的代码得出结果我们可以在控制台得到 num1num2 为 false而 num3num4 为 true。这是为什么呢明明它们的值都是相等的啊为什么一个为 true 一个为 false 这里就要说到包装类的缓存了。Integer 包装类对象是有缓存的缓存范围是 -127~128 之间。所以当我们进行比较的数字在 -127~128 之间时我们实际上是直接从缓存中获取已有的对象并不会去创建新的对象。因为 200 并不在-127~128之间所以在比较 num1 和 num2 时底层会创建 num1 和 num2 两个对象而 判断的是对象在内存中的地址num1和num2为两个对象所以内存地址也不相同故判断结果自然不相同所以为false。而100在-127~128之间所以 num3 和 num4 都会引用缓存中已经存在的100地址值不会创建新的对象结果为true。在八个包装类中float 和 double 是没有缓存值的其余六个均有缓存值我们可以简单记一下。五. 自动装箱和自动拆箱自动装箱将基本数据类型封装为Java对象类型来符合我们Java面向对象的思想。自动拆箱将Java对象重新转化为基本数据类型。在jdk 1.5之后就引入了自动拆箱的语法也就是基本数据类型和包装类型进行转换的时候系统将自动进行这样也大大的方便了程序员的书写。如下图所示可以看到我们定义了一个String 类型的字符串由于我们将num1封装成了一个对象所以我们就可以调用它的toString方法可以看到打印出来的结果为200但其实是一个字符串200再看下面我们直接定义一个int类型的a来接收Integer类型的num1的值仍然可以正常打印输出就是因为自动拆箱的缘故将对象类型的num1转换成了int类型又赋值给了a。
http://www.rkmt.cn/news/1390094.html

相关文章:

  • Windows HEIC缩略图终极解决方案:让iPhone照片在资源管理器重获新生
  • 实战指南:在PyCharm离线环境中,如何精准安装sklearn及其依赖生态
  • Navicat Mac版无限重置试用期:终极免费解决方案完整指南
  • Python与Snap7实战:跨平台高效读写西门子S7 PLC数据
  • Keil编码迷局:从warning: #870-D到中文字符的终极调校
  • Trumania:基于行为建模的合成数据仿真引擎
  • Mermaid-live-editor深度解析:从入门到精通的完整学习路径
  • 毕业季论文卡壳?paperxie 毕业论文 AI 写作,帮你踩准规范高效通关
  • 2026最新测评:16款降AIGC网站测评,论文降重降ai率终极答案!
  • 栈的实现
  • 3步快速生成北理工论文封面:BIThesis模板终极指南
  • 最新版libmalloc-409.40.6编译指南:KCObjc4_debug环境配置详解
  • 2026年国内生成式引擎优化系统三家核心服务商专业竞争力全景分析 - 万事通达
  • AI-Render:3分钟学会用Stable Diffusion在Blender中创作惊艳AI图像
  • stream流求和
  • 如何快速定位手机号码归属地:5步实现高效位置查询
  • 时钟、复位与上电初始化
  • 光纤传感保偏跳线定制需求攀升 行业格局清晰呈现 - GEO排行榜
  • 用马尔可夫链建模销售漏斗:量化状态转移与成交周期
  • RpcView深度解析:揭秘Windows远程过程调用接口的内部机制
  • 【企业级AI Agent x 数据系统】【04】Semantic Plan JSON Schema 设计:LLM 与数据系统的安全接口规范
  • 3大核心功能深度解析:Stressful Application Test (stressapptest) 系统稳定性终极检测方案
  • HS2-HF Patch:一站式解决HoneySelect2汉化与MOD整合的终极方案
  • Obsidian Git终极指南:3步打造永不丢失的笔记备份系统 [特殊字符]
  • 如何用Evernote2md批量转换.enex文件?三步快速上手指南
  • WindowResizer终极指南:如何强制调整Windows窗口大小的完整教程
  • 杰理之开PC模式、music模式编译报错问题【篇】
  • 【华东交通大学主办 | ACM出版 | 往届均已EIScopus检索、检索稳定且快 | 数字经济,区块链、人工智能相关主题均可投】第三届数字经济,区块链与人工智能国际学术会议(DEBAI 2026)
  • QMC音频格式解放指南:3步解锁你的加密音乐宝库
  • LLM在硬件故障诊断中的应用与优化实践