Java包装类、装箱和拆箱需要掌握哪些?

Java包装类、装箱和拆箱 在 Java 的设计中提倡一种思想,即一切皆对象。但是从数据类型的划分中,我们知道 Java 中的数据类型分为基本数据类型和引用数据类型,但是基本数据类型怎么能够称为对象呢?于是 Java 为每种基本数据类型分别设计了对应的类,称之为包装类(Wrapper Classes),也有地方称为外覆类或数据类型类。包装类和基本数据类型的关系如下表所示。从上表中我们可以看出,除了 Integer 和 Character 定义的名称与基本数据类型定义的名称相差较大外,其它的 6 种类型的名称都是很好掌握的。 阅读详情

        在Java的设计中提倡一种思想,即一切皆对象。但是从数据类型的划分中,我们知道 Java 中的数据类型分为基本数据类型和引用数据类型,但是基本数据类型怎么能够称为对象呢?于是 Java 为每种基本数据类型分别设计了对应的类,称之为包装类(Wrapper Classes),也有地方称为外覆类或数据类型类。

包装类和基本数据类型的关系如下表所示。

基本数据类型及对应的包装类
序号基本数据类型包装类
1byteByte
2shortShort
3intInteger
4longLong
5charCharacter
6floatFloat
7doubleDouble
8booleanBoolean

        从上表中我们可以看出,除了 Integer 和 Character 定义的名称与基本数据类型定义的名称相差较大外,其它的 6 种类型的名称都是很好掌握的。

装箱和拆箱

        在了解包装类后,下面介绍包装类的装箱与拆箱的概念。其实这两个概念本身并不难理解,基本数据类型转换为包装类的过程称为装箱,例如把 int 包装成 Integer 类的对象;包装类变为基本数据类型的过程称为拆箱,例如把 Integer 类的对象重新简化为 int。

        手动实例化一个包装类称为手动拆箱装箱。Java 1.5 版本之前必须手动拆箱装箱,之后可以自动拆箱装箱,也就是在进行基本数据类型和对应的包装类转换时,系统将自动进行装箱及拆箱操作,不用在进行手工操作,为开发者提供了更多的方便。例如:

public class Demo {
public static void main(String[] args) {
int m = 500;
Integer obj = m; // 自动装箱
int n = obj; // 自动拆箱
System.out.println("n = " + n);

Integer obj1 = 500;
System.out.println("obj等价于obj1返回结果为" + obj.equals(obj1));
}
}

运行结果:

n = 500
obj等价于obj1返回结果为true

自动拆箱装箱是常用的一个功能,需要重点掌握。

包装类的应用

下面我们讲解 8 个包装类的使用,下面是常见的应用场景。

1) 实现 int 和 Integer 的相互转换

        可以通过 Integer 类的构造方法将 int 装箱,通过 Integer 类的 intValue 方法将 Integer 拆箱。例如:

public class Demo {
public static void main(String[] args) {
int m = 500;
Integer obj = new Integer(m); // 手动装箱
int n = obj.intValue(); // 手动拆箱
System.out.println("n = " + n);

Integer obj1 = new Integer(500);
System.out.println("obj等价于obj1的返回结果为" + obj.equals(obj1));
}
}

运行结果:

n = 500
obj等价于obj1的返回结果为true

2) 将字符串转换为数值类型

在 Integer 和 Float 类中分别提供了以下两种方法:

① Integer 类(String 转 int 型)

int parseInt(String s);

s 为要转换的字符串。

② Float 类(String 转 float 型)

float parseFloat(String s)

注意:使用以上两种方法时,字符串中的数据必须由数字组成,否则转换时会出现程序错误。

下面为字符串转换为数值类型的例子:

public class Demo {
public static void main(String[] args) {
String str1 = "30";
String str2 = "30.3";
// 将字符串变为int型
int x = Integer.parseInt(str1);
// 将字符串变为float型
float f = Float.parseFloat(str2);
System.out.println("x = " + x + ";f = " + f);
}
}

运行结果:

x = 30;f = 30.3

3) 将整数转换为字符串

Integer 类有一个静态的 toString() 方法,可以将整数转换为字符串。例如:

public class Demo {
public static void main(String[] args) {
int m = 500;
String s = Integer.toString(m);
System.out.println("s = " + s);
}
}

运行结果:

s = 500

Java学习视频

Java基础:

Java300集,Java必备优质视频_手把手图解学习Java,让学习成为一种享受

Java项目:

【Java游戏项目】1小时教你用Java语言做经典扫雷游戏_手把手教你开发游戏

【Java毕业设计】OA办公系统项目实战_OA员工管理系统项目_java开发

设计原则:面向对象设计原则详解 我们在应用程序开发中,一般要求尽量两做到可维护性和可复用性。 应用程序的复用可以提高应用程序的开发效率和质量,节约开发成本,恰当的复用还可以改善系统的可维护性。而在面向对象的设计里面,可维护性复用都是以面向对象设计原则为基础的,这些设计原则首先都是复用的原则,遵循这些设计原则可以有效地提高系统的复用性,同时提高系统的可维护性。面向对象设计原则和设计模式也是对系统......... 阅读详情

相关推荐

用Java实现对接豆包ai火山引擎详细版简单明了ai对话

第二部分代码实现。

m0_72637700的博客 8612

1.1 Java包装类、装箱和拆箱

在 Java 的设计中提倡一种思想,即一切皆对象。但是从数据类型的划分中,我们知道 Java 中的数据类型分为基本数据类型和引用数据类型,但是基本数据类型怎么能够称为对象呢?于是 Java 为每种基本数据类型分别设计了对应的类,称之为包装类(Wrapper Classes),也有地方称为外覆类或数据类型类。 包装类的作用就是将基本类型转成对象,将基本类型作为对象来处理。 包装类和基本数据类型的关系如下表所示。 基本数据类型 包装类 byte Byte short Short int

you can you up up up的博客 300

微前端实战:MicroApp内存泄漏优化策略与性能调优

本文分享了在大型后台管理系统微前端化过程中,使用MicroApp框架时遇到的内存泄漏实战问题与优化策略。通过深入分析沙箱机制,提出动态加载、精准卸载、沙箱配置优化及第三方库补丁等核心方案,并结合Vue/React子应用专项检查清单,有效解决了内存占用飙升问题,为微前端架构的性能调优提供了系统性解决方案。

weixin_29014939的博客 284

Java基础篇--Character(字符)类

Character 类是用来操作单个字符的,它将 char 值包装在一个对象中。实际上,在 Java 中,char 是基本数据类型,而 Character 是 char 的包装类。通过 Character 类,可以使用一系列方法来操作字符。此外,在某些情况下,Java 编译器会自动地进行装箱(将 char 转换为 Character)和拆箱(将 Character 转换为 char)操作。

m0_74293254的博客 4138

EPLAN电气设计精华 -模拟量传感器画法全解

本文介绍了EPLAN中模拟量压力传感器的标准画法要点,重点解析了电流型(4-20mA)、电压型(0-10V/0-5V)和特定应用型三种传感器的核心特点、典型符号、接线方式及应用场景。文章提供了EPLAN设备标识符示例,并分享了一个实际项目案例(XJC-Y01-20-4M传感器配合XJC-608T-F变送器和GSEE.GXLK-AI4S-I模块的应用),强调绘制前查阅技术资料的重要性。内容简明实用,有助于规范电气设计中的传感器绘制。

Qinmingyue13的博客 1184

深入解析Docker Overlay2磁盘空间占用问题及高效清理策略

本文深入解析了Docker Overlay2存储驱动导致磁盘空间占用的核心原因,包括镜像与容器残留、日志文件膨胀、应用层泄漏及驱动特性。提供了从全局检查到精准定位的完整排查方法,并给出了从常规清理到配置优化的多维度高效清理策略,帮助用户从根本上解决Docker磁盘空间问题。

data3的博客 900

包装类详解(装箱,拆箱)

实际上也确实如此,为了解决这个问题,java 引入了一类特殊的类,即这 8 种基本数据类型的包装类,在使用过程中,会将类似 int 这样的值包装到一个对象中去。Object 引用可以指向任意类型的对象,但有例外出现了,8 种基本数据类型不是对象,那岂不是刚才的泛型机制要失效了?可以看到在使用过程中,装箱和拆箱带来不少的代码量,所以为了减少开发者的负担,java 提供了自动机制。基本就是类型的首字母大写,除了 Integer 和 Character。注意:自动装箱和自动拆箱是工作在。

qq_56444564的博客 333

一文搞懂电流、电压的有效值 RMS

交流电有正半周、负半周,直接平均可能抵消成 0,但负半周一样会发热。这个交流电如果换成直流电,能产生同样发热功率时,对应的直流电压或电流”,电容耐压通常不能按 220V 选,常见会选 400V 或更高余量。所以做硬件时,220VAC 整流滤波后电容上会接近。电压/电流的有效值,也叫。如果它加在电阻上,发热按。

qq_52293640的博客 452

java中基本数据类型对应的包装器类型以及装箱操作和拆箱操作

java装箱操作和拆箱操作的学习基本数据类型和包装器类型装箱操作和拆箱操作IntegerDoubleBooleanShortLongFloat其它注意事项 基本数据类型和包装器类型 Java为每种基本数据类型都提供了对应的包装器类型 基本类型 包装器类型 int(4字节) Integer byte(1字节) Byte short(2字节 Short long(8字节) ...

无间行者 689

【技能】OpenClaw Memory 与 MemOS 两种 AI 记忆方案深度解析

摘要:本文对比了两种AI记忆系统方案。OpenClaw Memory是轻量级记忆助手,内置SQLite存储,支持语义搜索,部署简单成本低,适合日常对话记忆需求。MemOS是自学习系统,通过Neo4j和Qdrant实现技能自进化,但需部署4套服务,门槛高成本大。建议普通用户选择OpenClaw Memory,技术玩家可逐步尝试MemOS。两种方案各具优势,需根据实际需求选择。

海兰 201

C#实战YOLO26物体检测:从ONNX模型转换到工业级部署全复盘

本文介绍了在C#上位机中集成YOLO26模型实现工业产线零件检测的实战方案。针对工业场景对实时性(单帧推理≤100ms)、轻量化和易部署的需求,选择YOLO26模型相比YOLOv8在推理速度提升30%且模型体积更小。文章详细拆解了从模型转换(PyTorch转ONNX)、C#推理引擎封装到部署优化的全流程,重点解决了ONNX兼容性、坐标偏移、GPU降级等工业落地中的典型问题。通过解耦设计、性能优化和异常处理机制,最终在工控机(i5-8500+GTX1650)上实现60ms的单帧推理速度,为工业检测项目提供了可

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1326

java拆箱装箱object类

Java 中的数据类型分为基本数据类型和引用数据类型,但是基本数据类型怎么能够称为对象呢?于是 Java 为每种基本数据类型分别设计了对应的类,称之为包装类(Wrapper Classes),也有地方称为外覆类或数据类型类。 包装类和基本数据类型的关系如下表所示。 基本数据类型及对应的包装类 序号 基本数据类型 包装类 1 byte Byte 2 short Short 3 int Integer 4 long Long .

m0_62520968的博客 556

ultralytics.data.utils——utils.py子模块代码详读

ultralytics.data.utils——utils.py子模块代码详读

Together_CZ的博客 1722

Java包装类及自动装箱、拆箱

Java包装类 基本类型 大小 包装器类型 boolean / Boolean char 16bit Boolean byte 8bit Byte short /16bit Short int 32bit Integer long 64bit Long float 32bit Float double 64bit Double void / Void...

KevinLyz的博客 4979

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Java自动装箱与自动拆箱(包装类)

一、基本介绍 包装类的作用: Java 语言中,一切都是对象,但是有例外: 8 个基本数据类型不是对象,因此在很多时候非常不方便。 为此, Java提供为 8 个基本类型提供了对应的包装类: byte ------- Byte short ------ Short ...

Maooo的博客 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

详解Java包装类的自动拆箱和装箱

详解Java包装类的自动拆箱和装箱

2301_77899321的博客 2005

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

轻松掌握Java包装类:装箱与拆箱趣谈

每个包装类都类似于Integer,提供了常用的静态方法,如parseXXX()、valueOf()、toString()等,且支持自动装箱/拆箱。每个包装类根据数据类型的不同,拥有一些特定的方法来处理特定类型的数据。在Java中,基本数据类型如int、double等无法直接作为对象使用,因此Java提供了包装类来将这些基本数据类型包装成对象。包装类不仅让基本数据类型能像对象一样被操作,还增加了一些有用的方法。在学习的路上,你有哪些建议或者心得体会呢?

码力斜杠哥 974

详解JAVA包装类、自动拆箱和装箱

1写在前面的话 终于有时间给大家来写篇技术推文啦!今天给大家来说说JAVA中的包装类以及自动拆箱和装箱的相关知识!这部分的内容其实也是很重...

Kuls 908

java基础类型 包装类, 装箱和拆箱

● 将基本类型变成包装类就是装箱,把包装类变成基本类型就是拆箱;● 装箱和拆箱都分为手动和自动两种情况;● 自动装箱和自动拆箱都是在编译期完成的(JDK 1.5之后出现自动拆装箱);● 装箱和拆箱会影响执行效率,且拆箱时可能发生NullPointerException异常;

SU_mu147的博客 493

Java 自动装箱和拆箱还有包装类的缓存问题

Java自动装箱和拆箱(JDK1.5+)实现了基本类型与包装类的自动转换。自动装箱通过valueOf()将基本类型转为对象(如Integer i=5),自动拆箱通过xxxValue()将对象转为基本类型(如int j=i)。编译器处理这些转换,但需注意空指针异常(如Integer为null时拆箱)。包装类对-128~127的值进行缓存优化,该范围内的值会复用缓存对象,超出范围则新建对象。测试表明,缓存范围内的值使用==比较为true,范围外的为false,而equals()始终比较数值。

weixin_55806571的博客 1158

《Java基础知识》Java包装类,拆箱和装箱

虽然 Java 语言是典型的面向对象编程语言,但其中的八种基本数据类型并不支持面向对象编程,基本类型的数据不具备“对象”的特性——不携带属性、没有方法可调用。 沿用它们只是为了迎合人类根深蒂固的习惯,并的确能简单、有效地进行常规数据处理。Java为每种基本数据类型分别设计了对应的类,称之为包装类(Wrapper Classes),也有教材称为外覆类或数据类型类。每个包装类的对象可以封装一个相应的基本类型的数据,并提供了其它一些有用的方法。包装类对象一经创建,其内容(所封装的基本类型数据值)不可改变。基本类型

Limingmingaa的博客 443

Java 包装类-装箱-拆箱

包装类 概念:Java提供了两个类型系统,基本数据类型和引用数据类型,使用基本数据类型在于效率,然而很多情况下回创建对象使用,因为对象能做更多的功能。 所以可以使用一个类,把基本数据类型包装起来,在类中定义一些方法,这就叫做包装类。我们可以用这种方法来操作这些数据类型 基本类型 对应包装类(位于java.lang中) byte Byte short Short int Integer long Long float Float double Double char C

xiaoyangBXDTF的博客 412

Java的包装类以及装箱、拆箱

前言 Java的包装类对应的是Java的基本数据类型,比如Integer对应int,因此先来回顾一下基本数据类型。 Java的基本数据类型 四种整数类型(byte、short、int、long): byte:8 位,用于表示最小数据单位,如文件中数据,-128~127 short:16 位,很少用,-32768 ~ 32767 int:32 位、最常用,-231-1~231 (21 亿) long:64 位、次常用 两种浮点数类型(float、double): float:32 位,后缀 F 或 f,1

FiveStarsGeneral的博客 3636

Java包装类,基本的装箱与拆箱

将原始类型和包装类分开以保持简单。当需要一个适合像面向对象编程的类型时就需要包装类。当希望数据类型变得简单时就使用原始类型。 原始类型不能为null,但包装类可以为null。包装类可用于实现多态性。

Jan's的博客 988
上一篇: 大厂必问的Java虚拟机面试题有哪些?(二)
下一篇: Java Object类有哪些重点需要掌握?
程序媛_小白
博客等级 码龄5年 322粉丝 163原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值