关注
包装类本质上是将Java中的基本数据类型“包裹”成对象,让基本类型也能具备对象的特性(比如存储到容器、使用面向对象功能等)。具体作用可以简单理解为以下几点:
1. 让基本类型能当“对象”用
- Java中基本类型(如 int 、 double )不是对象,但很多场景必须用对象,比如:
✦ 容器类( ArrayList 、 HashMap )只能存对象,不能直接存 int ,必须用 Integer 包装类。
✦ 多态、反射等面向对象特性需要对象类型,基本类型无法直接参与。
2. 表示“空值”状态
- 基本类型有默认值(如 int 是0, boolean 是false),无法表示“未赋值”或“不存在”;
- 包装类(如 Integer 、 Boolean )可以赋值为 null ,更适合处理数据库查询、接口返回等可能为空的场景。
3. 提供工具方法和常量
- 包装类封装了很多实用功能,比如:
✦ 类型转换: Integer.parseInt("123") 把字符串转成整数;
✦ 常量定义: Integer.MAX_VALUE 表示int的最大值;
✦ 格式化处理: Double.toString(3.14) 把数字转成字符串。
4. 自动拆装箱的“隐藏福利”
虽然需要包装类,但Java有“自动拆装箱”机制(JDK 1.5后),让代码写起来像直接用基本类型一样方便:
// 自动装箱:基本类型→包装类
Integer a = 10; // 等价于 Integer a = Integer.valueOf(10);
// 自动拆箱:包装类→基本类型
int b = a; // 等价于 int b = a.intValue();
举个生活例子类比:
基本类型像“裸装的鸡蛋”(性能高但不好携带),包装类像“鸡蛋盒”(把鸡蛋装盒里,方便放进冰箱、运输)。Java既要性能(裸装鸡蛋省空间),又要面向对象的灵活性(鸡蛋盒方便操作),所以搞了包装类~ 😊
查看原帖
点赞 评论
相关推荐
查看7道真题和解析 点赞 评论 收藏
分享
05-18 14:02
The University of Sydney 数据库工程师 点赞 评论 收藏
分享
牛客热帖
更多
- 1... 要对实习同事表白吗?1.1W
- 2... AI Agent 面试 Top50 必刷题9933
- 3... 到底怎么和 AI 一起写一个好项目?6158
- 4... 实习dirty work,怎么包装产出4811
- 5... 当你有一个只想捆住你的妈妈4394
- 6... 每日面试题-5月19日3329
- 7... 三段实习,被室友骂工贼,我错了吗?2913
- 8... 前京东HR说:这样改简历,真的会被一眼相中2587
- 9... 逆天操作,也是让我遇到了2382
- 10... 解决了xd们,发了个dy曝光视频,十几万播放,直接让他火速联系我,赔我路费了,兄弟们碰到不公平的违法行为,一定要积极捍卫自己权益2340
正在热议
更多
# 26届春招投递记录 #
31533次浏览 237人参与
# 妈妈治愈了你哪些脆皮时刻 #
47343次浏览 357人参与
# 27届实习投递记录 #
112384次浏览 1233人参与
# 我的工作日记 #
207665次浏览 1826人参与
# 我的求职总结 #
511155次浏览 7076人参与
# 你投了多少家公司?进展是___ #
247986次浏览 1443人参与
# 大学生该如何认清当下的就业环境? #
178564次浏览 941人参与
# AI面会问哪些问题? #
133771次浏览 3390人参与
# 要毕业了,再不说就来不及了 #
5741次浏览 104人参与
# 我与AI的日常 #
10496次浏览 184人参与
# 如果公司降薪,你会跳槽吗? #
168703次浏览 972人参与
# 今年秋招还有金九银十吗 #
85024次浏览 518人参与
# 25届非技术实习投递记录 #
159323次浏览 1027人参与
# 27届求职交流 #
498851次浏览 4654人参与
# 应届生应该先就业还是先择业 #
202196次浏览 944人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
168617次浏览 916人参与
# 你以为的实习VS真实的实习 #
144122次浏览 760人参与
# 你觉得什么岗位会被AI替代 #
65296次浏览 386人参与
# 你的秋招进行到哪一步了 #
2802329次浏览 23414人参与
# 腾讯工作体验 #
646598次浏览 3915人参与