news 2026/8/7 4:10:23

Java 基本数据类型与包装类:从内存到封箱拆箱

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java 基本数据类型与包装类:从内存到封箱拆箱

Java中有byte、short、int、long、char、float、double、boolean 8种基本数据类型,这些数据类型的变量在内存中存储真正的“值”。而数组、字符串、对象等引用数据类型的变量,在内存中存储的是对象的引用,也就是内存地址。

Java系统,为每一个基本变量类型,都定义了一个专属的类,又被称为包装类。8大基本类型,对应的包装类如下:

基本类型包装类
byteByte
shortShort
intInteger
charCharacter
longLong
floatFloat
doubleDouble
booleanBoolean

基本数据类型可以使用包装类的构造函数,生成包装类的对象,这个过程又叫封箱。包装类的对象,也可以使用方法,生成基本数据类型的数值,这个过程又叫拆箱。

在Java9后,包装类的构造函数的封箱方法被弃用,官方建议使用静态的valueOf()方法进行手动封箱,之后又支持直接使用字面量或者赋值给包装类对象,又叫自动封箱。自动封箱实际上是隐式调用valueOf()方法。

同理,Java也支持自动拆箱,也就是隐式调用拆箱方法。比如:

publicclassApp{publicstaticvoidmain(String[]args){bytea=127;Byteaa=Byte.valueOf(a);// 手动封箱 也可 Byte aa = a 又叫自动封箱byteb=aa.byteValue();// 手动拆箱 也可 byte b = aa 又叫自动拆箱System.out.println(b);// 127shortc=32767;Shortcc=c;// 自动封箱shortd=cc;// 自动拆箱System.out.println(d);// 32767inte=2147483647;Integeree=e;// 自动封箱intf=ee;// 自动拆箱System.out.println(f);// 2147483647charg='a';Charactergg=g;// 自动封箱charh=gg;// 自动拆箱System.out.println(h);// alongi=9223372036854775807L;Longii=i;// 自动封箱longj=ii;// 自动拆箱System.out.println(j);// 9223372036854775807floatk=3.14f;Floatkk=k;// 自动封箱floatl=kk;// 自动拆箱System.out.println(l);// 3.14doublem=3.15;Doublemm=m;// 自动封箱doublen=mm;// 自动拆箱System.out.println(n);// 3.15booleano=true;Booleanoo=o;// 自动封箱booleanp=oo;// 自动拆箱System.out.println(p);// true}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/28 1:09:23

5分钟快速上手:OpenWebRX开源SDR接收器完整配置指南

5分钟快速上手:OpenWebRX开源SDR接收器完整配置指南 【免费下载链接】openwebrx Open source, multi-user SDR receiver software with a web interface 项目地址: https://gitcode.com/gh_mirrors/open/openwebrx OpenWebRX作为一款功能强大的开源软件定义无…

作者头像 李华
网站建设 2026/8/4 8:55:17

通义万相 (Wan) 2.6 API 可视化调用面板

通义万相图像生成模型支持图像编辑、图文混排输出,满足多样化生成与集成需求。 以下是一个基于 React 的通义万相 (Wan) API 可视化调用面板。 效果图: 由于目前通义万相(Wan 2.1/2.0)的视频生成通常是异步任务(提…

作者头像 李华
网站建设 2026/8/4 8:52:56

bsdiff/bspatch:高效二进制差异补丁技术深度解析

bsdiff/bspatch:高效二进制差异补丁技术深度解析 【免费下载链接】bsdiff bsdiff and bspatch are libraries for building and applying patches to binary files. 项目地址: https://gitcode.com/gh_mirrors/bs/bsdiff 你是否曾为大型软件更新包下载耗时过…

作者头像 李华
网站建设 2026/8/4 6:23:14

高温环境下PCB线宽与电流对照表修正方法探讨

高温环境下如何科学修正PCB线宽与电流关系?工程师不可忽视的热设计实战指南你有没有遇到过这样的情况:明明按照标准PCB线宽与电流对照表选了走线宽度,结果样机一上电,大电流路径附近的铜皮就开始发烫,甚至在高温老化测…

作者头像 李华
网站建设 2026/7/31 12:19:04

学术论文免费获取神器:三分钟搞定Sci-Hub X Now完整部署

学术论文免费获取神器:三分钟搞定Sci-Hub X Now完整部署 【免费下载链接】sci-hub-now 项目地址: https://gitcode.com/gh_mirrors/sc/sci-hub-now 还在为昂贵的论文下载费用发愁吗?想不想拥有一个能让你随时随地免费获取学术文献的神奇工具&…

作者头像 李华
网站建设 2026/7/30 8:49:32

UDS多帧传输在CANoe中的模拟与验证

UDS多帧传输在CANoe中的实战模拟与深度验证从一个诊断失败说起:为什么我们需要关注多帧?某日,一位工程师在刷写ECU软件时发现,当请求读取某个大尺寸DID(数据标识符)时,响应总是被截断或直接超时…

作者头像 李华