首页/新闻资讯/正文详情

【Java】包装类泛型

发布时间:2026/11/5 5:32:08 来源:云帆数科 栏目:资讯中心
【Java】包装类泛型
包装类为什么要有包装类Java 里8 种基本数据类型byte/short/int/long/float/double/char/boolean不是对象不继承Object。但是集合、泛型只能存对象不能直接放基本类型所以 Java 为每个基本类型提供了对应的包装类把基本值包装成对象。大部分就是首字母大写只有两个特殊int → Integerchar → Character自动装箱 自动拆箱装箱基本类型 → 包装对象Integer a 10; // 自动装箱等价于 Integer a Integer.valueOf(10);拆箱包装对象 → 基本类型int b a; // 自动拆箱等价于 int b a.intValue();Integer 缓存池Integer.valueOf()会缓存-128 ~ 127的 Integer 对象这个区间内直接复用对象超出区间新建对象Integer i1 100; Integer i2 100; System.out.println(i1 i2); // true在缓存池里 Integer i3 200; Integer i4 200; System.out.println(i3 i4); // false超出缓存是两个不同对象包装类比较值优先用.equals()不要用包装类的常用作用放入泛型、集合ListInteger不能写Listint可以存null基本类型有默认值不能为 null自带很多工具方法字符串转数字、进制转换等int num Integer.parseInt(123); // 字符串转int String s Integer.toString(456); // 数字转字符串装箱拆箱装箱// 手动装箱 int i10; Integer iiInteger.valueOf(i)装箱把基本类型 int包装成 Integer 对象valueOf()优先从缓存池-128~127拿现成对象节省内存// 方式2new Integer(i) 【不推荐Java9已经废弃】每次都新建对象不走缓存 Integer ij new Integer(i);new Integer()强制创建新对象哪怕值在缓存区间也不复用拆箱// 拆箱 :从Integer对象里取出里面的int值 int jii.intValue();每个包装类都有对应的xxxValue()方法Integer→intValue()Double→doubleValue()Character→charValue()自动装箱、自动拆箱// 自动装箱 等价与 Integer aInteger.valueOf(10) Integer a10; // 自动拆箱等价于 int ba.intValue(); int ba;写起来更简洁编译之后本质还是上面的 valueOf() 和 intValue()自动装箱只是语法糖底层调用的就是 valueOf这也是缓存池生效的前提重点对比Integer i1100; // 自动装箱 --- valueOf(100) 缓存里拿 Integer i2100; System.out.println(i1i2); // true , 同一个缓存对象 Integer i3200; // 自动装箱---- valueOf(200) 超出缓存新建对象 Integer i4200; System.out.println(i3i4); // false 两个不同对象Integer 的缓存数组 cache 只预存了-128 ~ 127之间的对象。坑点a 比较的是对象地址b比较包装类的值一定要用 .equals()面试题Integer a127; Integer b127; Integer c128; Integer d128; System.out.println(ab); // true System.out.println(cd); // false // equals 比较数值不管是否在缓存区间 System.out.println(c.equals(d)); // true1Integer a 127; Integer b 127;a 这是自动装箱底层等价于Integer.valueOf(127)。b Java 的Integer内部有一个静态缓存IntegerCache默认缓存范围是-128 ~ 127。b 数字 127 落在缓存区间内valueOf直接返回缓存里同一个对象。d对引用类型比较的是对象内存地址a和b地址相同所以输出true。2Integer c 128;、Integer d 128;a128 超出了-128--127的缓存范围Integer.valueOf(128)会新建两个不同的 Integer 对象。bc和d是两个独立对象内存地址不一样判断地址不相等输出false。3补充a基本类型比值包装类引用类型比对象地址b比较包装类里面的数值大小要用 a.equals(b)System.out.println(c.equals(d)); // true比较内部数值泛型背景普通类 / 方法只能写死固定类型基本类型、自定义类想一套代码适配多种类型就很麻烦这就是泛型要解决的问题版本泛型是JDK1.5新增语法通俗理解泛型 适用于很多类型专业定义泛型本质是类型参数化把类型像参数一样传入让类、接口、方法可以在不修改源码的情况下支持多种不同类型泛型带来的好处编译期类型检查减少类型转换异常避免大量强制类型转换复用一套代码适配多种引用类型泛型不支持基本类型要用包装类Integer 代替 int

相关推荐

360度评估工具计费方式解析:四种口径、四个必问项与成本折算方法
360度评估工具计费方式解析:四种口径、四个必问项与成本折算方法

更新时间:2026 年 10 月摘要 360度评估工具的计费方式可归纳为四种口径。选择哪种取决于企业用量的形状——被评人数、年度轮次与评价人构成三者共同决定成本结构。本文给出四种口径的适用边界、采购阶段必须确认的四项条款,以及用人力成本折算投入产出的… · 2026/11/5 5:31:08

稀土功能纤维的制备原理与功能特性
稀土功能纤维的制备原理与功能特性

稀土在很多人印象中,是用于永磁电机、催化剂、激光晶体的工业原料。但近两年,稀土正在以一种更贴近生活的方式进入日常——功能纤维。稀土如何“织”进衣服里稀土功能纤维的制备,并不是简单地把稀土粉末混入纺丝液。以包头稀土研究院发布的“… · 2026/11/5 5:31:08

10-03-互操作-JobSystem与GC隔离
10-03-互操作-JobSystem与GC隔离

JobSystem 与 GC 隔离篇章:10-核心技术-托管互操作篇 | 阅读时间:约 35 分钟一、引言Unity Job System 要求 Job 中不能访问托管对象。这不是一个"推荐"规则,而是一条硬性约束——违反会导致运行时错误(InvalidOperatio… · 2026/11/5 5:31:08

STM32F407六路串口DMA并发收发实战
STM32F407六路串口DMA并发收发实战

简介:本资源是一份面向嵌入式开发工程师与STM32进阶学习者的实战型实验工程,聚焦STM32F407芯片在高并发串口通信场景下的DMA高效应用,解决多路串口数据收发导致CPU负载过高、实时性不足等典型痛点,适用于工业网关、多传感器汇聚终… · 2026/11/5 6:14:22

二叉搜索树(BST)原理与C++实现指南
二叉搜索树(BST)原理与C++实现指南

1. 二叉搜索树的核心价值与应用场景二叉搜索树(Binary Search Tree, BST)作为数据结构领域的经典之作,在C程序员的成长道路上扮演着重要角色。我第一次在游戏排行榜功能中实现BST时,深刻体会到它O(log n)时间复杂度带来的性能优势… · 2026/11/5 6:14:22

链表去重算法解析与双指针法实现
链表去重算法解析与双指针法实现

1. 问题分析与解法思路链表去重是算法学习中的经典问题,LeetCode第83题"删除排序链表中的重复元素"要求我们保留每个元素的一次出现,删除所有后续重复项。面对这个问题,我们需要深入理解链表的特性和操作方式。链表与数组最大的区别… · 2026/11/5 6:14:22

大专生如何在大数据行业突围:就业现状与技能提升策略
大专生如何在大数据行业突围:就业现状与技能提升策略

1. 大数据行业就业现状全景扫描2026届大专层次大数据科学专业毕业生面临的就业形势,需要从行业需求、学历门槛、技能匹配三个维度综合分析。当前大数据行业已度过爆发期进入理性发展阶段,头部企业招聘门槛持续抬高,但细分领域仍存在大量机会。… · 2026/11/5 6:14:22

笔记本部署VMware ESXi 6.0实战:网卡驱动与避坑指南
笔记本部署VMware ESXi 6.0实战:网卡驱动与避坑指南

笔记本电脑部署VMware ESXi 6.0系统这件事,我第一次干的时候踩的坑比想象中多得多。表面上看,这不过是把一张ISO镜像写进U盘、改个启动项、点几下下一步的事,但真正动手才会发现:笔记本的网卡驱动、电源管理、存储控制器、UEFI与L… · 2026/11/5 6:14:22

2026年Typora依然是最佳Markdown编辑器的三大理由
2026年Typora依然是最佳Markdown编辑器的三大理由

1. 为什么在2026年我依然选择Typora作为一个重度Markdown用户,我几乎尝试过市面上所有主流编辑器。从早期的Mou到后来的VS CodeMarkdown插件,从Notion到Obsidian,最终在2026年这个时间节点,我依然选择回归Typora。这不是简单的怀旧… · 2026/11/5 6:13:22

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

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

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

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

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

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

多智能体协作系统架构设计与实践优化
多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中… · 2026/11/5 0:00:39

大模型系统性入门实战指南:从原理到部署微调的全链路路线
大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#… · 2026/11/5 0:00:39

鸿蒙文件系统沙箱机制解析与开发实践
鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的… · 2026/11/5 0:00:39

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

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

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

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

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

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

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码