新闻详情

新闻详情

首页 / 资讯中心 / 详情

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

发布时间:2026/9/4 1:01:52来源:尧图网络
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 代表真实业务数值。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

从进厂到登月:工业机器人与自主导航技术跃迁之路 2026/9/4 1:34:58

从进厂到登月:工业机器人与自主导航技术跃迁之路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
智能体群集化:多智能体协作与工作流编排实践 2026/9/4 1:34:58

智能体群集化:多智能体协作与工作流编排实践

之前在做智能体落地项目时,我最大的感受是:单机版 Agent 跑 demo 很容易,一旦进入真实业务,它就会频繁“卡壳”。有的卡在任务拆解不够细,有的卡在工具调用上下文丢失,还有的卡在一个 Agent 反复执行同一个…

阅读更多 →
Kotlin协程5大高并发模式:构建高性能服务器实战指南 2026/9/4 1:34:58

Kotlin协程5大高并发模式:构建高性能服务器实战指南

如果你正在用 Kotlin 构建高并发服务器,却感觉代码越来越复杂,性能提升遇到瓶颈,这篇文章就是为你准备的。很多开发者以为 Kotlin 协程就是简单的launch和async,但真正的高性能服务器需要更精细的并发模式。本文不会重复基础概念&…

阅读更多 →
微信小程序工具箱源码解析:从聚合工具设计到云开发部署实战 2026/9/4 1:34:58

微信小程序工具箱源码解析:从聚合工具设计到云开发部署实战

简介:这是一套开箱即用的微信小程序工具箱合集源码,面向前端开发者、小程序初学者及快速原型验证需求者,聚焦日常高频实用场景,如格式转换、信息查询、快捷导航与轻量级服务集成。资源共1025个文件,涵盖273个JS逻辑脚本…

阅读更多 →
MATLAB实现物理信息神经网络求解亥姆霍兹方程 2026/9/4 1:34:58

MATLAB实现物理信息神经网络求解亥姆霍兹方程

简介:本资源是面向计算数学、物理仿真与AI交叉领域学习者的MATLAB实践项目,聚焦于使用物理信息神经网络(PINN)高效求解一维亥姆霍兹方程——该方程作为波动问题的频域核心模型,广泛应用于声学建模、电磁场分析与量子系…

阅读更多 →
kkce.com:网站测速在Web应用全链路压测与容量规划中的技术实践 2026/9/4 1:31:58

kkce.com:网站测速在Web应用全链路压测与容量规划中的技术实践

在Web应用架构日益复杂的今天,仅靠传统的单点网站测速已经无法满足企业对系统可用性和性能稳定性的要求。一次真实的用户请求,往往需要跨越负载均衡器、Web服务器、应用服务器、缓存层、数据库、消息队列、第三方API等多个组件,任何一个环节的…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞