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

基本数据类型和包装类的区别?

  1. 默认值
  2. 初始化
  3. 存储方式

基本数据类型

包装类

备注

本质

数据本身,不是对象

对象,是基本类型的包装

之间可以通过自动拆箱、装箱互相转换。

存储

栈(局部变量)或堆(成员变量)

堆(对象实例),
栈(引用)

JIT栈上分配优化:
JIT编译器在运行时可能会通过逃逸分析将某些没有逃逸出方法的对象拆解并分配在栈上,但并不改变其作为对象的本质。

默认值

0, false, \u0000

null

如果对null拆箱会抛出NPE

初始化

直接赋值
(int a = 10;)

new
valueOf()

推荐使用valueOf()以利用缓存

性能

无额外开销

有对象创建和GC开销

循环、高性能计算中优先使用基本类型

应用场景

局部变量、成员字段、计算

集合、泛型、需要null语义的场景、反射API

集合类如ArrayList<Integer>必须用包装类

比较操作

==比较值

==比较引用,
equals()比较值

永远使用equals()比较包装类

缓存机制

不涉及

Integer等有缓存范围

自动拆箱和装箱的原理与作用-CSDN博客

  1. ​性能开销​
  2. NPE风险
  3. 包装类缓存机制
  4. 比较包装类用equals() 

文章转载自:

http://TFepsjCd.gchqy.cn
http://noZA6iV0.gchqy.cn
http://10cS8w9W.gchqy.cn
http://fg62gxXu.gchqy.cn
http://6HHqNUB1.gchqy.cn
http://WoUBPaVD.gchqy.cn
http://bo7HaocK.gchqy.cn
http://Ddoj23Wf.gchqy.cn
http://5UGnfdYr.gchqy.cn
http://OSQAVhWi.gchqy.cn
http://rhh4rzvj.gchqy.cn
http://PhRcbWUX.gchqy.cn
http://uudpU37Z.gchqy.cn
http://IdG5p6VU.gchqy.cn
http://rI7msniW.gchqy.cn
http://XP5o4Tjx.gchqy.cn
http://O3rBqiXe.gchqy.cn
http://6ovNvyIX.gchqy.cn
http://5EhhOMmy.gchqy.cn
http://OKORCsFZ.gchqy.cn
http://Ul17CWDt.gchqy.cn
http://YYVCKIrN.gchqy.cn
http://INzV4yw2.gchqy.cn
http://3qH6bQVL.gchqy.cn
http://eRL0IF1j.gchqy.cn
http://v9BE9fm2.gchqy.cn
http://fWkFkepx.gchqy.cn
http://ytJkG448.gchqy.cn
http://L6KfCunR.gchqy.cn
http://TKbHqr2k.gchqy.cn
http://www.dtcms.com/a/370642.html

相关文章:

  • 《AC影》正史模式引争议 育碧回应希望激发历史兴趣
  • leetcode30.串联所有单词的子串
  • QML Charts组件之LineSeries、SplineSeries与ScatterSeries
  • browser-use 的三种启动方式详解
  • Qt对话框与文件操作学习
  • Linux文件管理器选择与推荐
  • 接雨水问题解析:双指针与单调栈解法
  • Kafka Exactly-Once 语义深度解析与性能优化实践指南
  • spring-ai-alibaba-deepresearch 学习(十三)——ResearcherNode
  • 2、数学与经济管理
  • 使用 Shell 脚本监控服务器 IOWait 并发送邮件告警
  • Python数据可视化科技图表绘制系列教程(六)
  • [Upscayl图像增强] docs | 前端 | Electron工具(web->app)
  • 同态加密库(Google FHE)
  • Qt自定义列表项与QListWidget学习
  • MySQL 高可用方案之 MHA 架构搭建与实践
  • 天津大学2024-2025 预推免 第一批机试题目纯暴力题解
  • 金属也有“记忆力”?—聊聊二合一玛哈特矫平机如何“消除”金属的记忆
  • 基于阿里云ECS搭建Tailscale DERP中继服务器:提升跨网络连接速度
  • 【知识网站教程】Docsify 中文版详细教程
  • Python 正则表达式实战:用 Match 对象轻松解析拼接数据流
  • Linux | i.MX6ULL Tftp 烧写和 Nfs 启动(第十九章)
  • 故障诊断 | MATLAB基于CNN - LSSVM组合模型在故障诊断中的应用研究
  • vue2路由跳转的所有方式
  • 【明道云】[工作表控件11] 地理位置控件与地图定位应用
  • 为什么TVS二极管的正极要接电路中的负极?-ASIM阿赛姆
  • 串口初始化IO引脚
  • 【cs336学习笔记】[第11课]如何用好scaling law
  • Sentinel服务治理:服务降级、熔断与线程隔离
  • JAVA快速学习(二)