恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Java 常用类|包装类 装箱拆箱、Integer 缓存面试题

  • 首页
  • 资讯中心
  • /
  • Java 常用类|包装类 装箱拆箱、Integer 缓存面试题

相关资讯

变电站继电保护柜屏幕检测数据集解析与工程实践 2026/9/4 1:01:47
Dify+RAG实战指南:从零构建企业级知识库问答系统 2026/9/4 1:01:47
AI技术如何通过Skill机制实现一句话生成猫咪短剧 2026/9/4 1:01:47

最新资讯

8G显存也能跑大模型?MINIMAX-H3本地部署量化与优化实践
DeepSeek V4 Pro参数与Agent跑分评测:从工具调用到工程落地的完整指南
Matlab水下机器人三维路径跟踪仿真系统
百元价位静音拇指滚轮鼠标:办公效率与静音体验的平衡之选
AFSim资源目录结构解析:仿真系统工程的可复用、可追溯与可插拔设计
WorkBuddy入门:从Excel表格到自动数据分析图表的实践指南

今日推荐

爬虫防护实操:出海网站拦截恶意采集、垃圾爬虫、无效刷量,CDN 精准防护落地指南
STM32H743 SPI从机DMA双缓冲通信实战
CPU开盖降温教程:20元成本让温度直降30度的原理与实践

本周热门

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析
数字电路时序基石:深入理解建立时间与保持时间
蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

Java 常用类|包装类 装箱拆箱、Integer 缓存面试题

发布时间:2026/9/4 1:01:47
Java 常用类|包装类 装箱拆箱、Integer 缓存面试题 一、引入目的让Object可以统一管理所有类型的数据。包装类基本数据类型所对应的对象类型称为基本数据类型的包装类。二、基本数据类型与包装类对应关系所有包装类都在java.lang包下不需要手动导包。包装类全部被final修饰没有子类。表格基本数据类型包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean三、数据类型之间转换以 Integer 为例3.1 int ↔ Integerint 转 Integerint a 12; // 方式1构造方法 Integer i1 new Integer(a); // 方式2静态方法 valueOf() Integer i2 Integer.valueOf(a);Integer 转 int// 成员方法 intValue() int n i2.intValue();3.2 String ↔ IntegerString 转 IntegerString str 222; // 方式1构造方法 Integer i3 new Integer(str); // 方式2静态方法 valueOf() Integer i4 Integer.valueOf(str);Integer 转 String// 方式1toString() String s1 i4.toString(); // 方式2字符串拼接 String s2 i4 ;四、int ↔ String 互相转换int 转 Stringint a2 32; // 字符串拼接方式 String s3 a2 ;String 转 int开发重点String a 18; int age Integer.parseInt(a);⚠️注意 String 转为 Integer/int 时字符串内容必须是纯数字且不能超出 Integer 数值范围。 编译可以通过运行时报异常java.lang.NumberFormatException数值格式转换异常。五、自动装箱与自动拆箱JDK5.0 新增特性基本数据类型和对应包装类可以自动互相转换。装箱基本数据类型 → 包装类型拆箱包装类型 → 基本数据类型// 自动装箱 int → Integer Integer i1 12; // 自动拆箱 Integer → int int a i1;自动装箱底层原理自动装箱底层 JVM 调用Integer.valueOf(int n)完成转换。valueOf核心源码public static Integer valueOf(int i){ if(i -128 i 127){ return IntegerCache.cache[i(-IntegerCache.low)]; } return new Integer(i); }源码解读如果数值在-128 ~ 127区间直接从Integer 缓冲区缓存池返回对象。如果数值不在该区间new Integer(i)新建对象。缓冲区作用Integer 预先把‑128~127范围内的包装对象缓存存放在缓冲区。 目的提高装箱效率提升 JVM 内存利用率。面试题分析输出结果Integer i1 12; Integer i2 12; System.out.println(i1 i2); // true Integer i3 255; Integer i4 255; System.out.println(i3 i4); // false解析 12 属于‑128~127缓存范围i1、i2 指向缓存中同一个对象比较地址为 true。 255 超出缓存范围两次装箱new两个不同对象地址不一样结果 false。六、包装类实际开发应用使用场景实体类属性把基本数据类型替换为对应的包装类型。目的区分有效数据与无效数据。举例基本类型 int 默认值为 0无法区分 “真实数值 0” 和 “没有赋值” Integer 包装类默认值为nullnull 代表未赋值0 代表真实业务数值。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号