回答重点
基本类型:
- Java中有8种基本数据类型(byte、short、int、long、float、double、char、boolean)
- 他们是直接存储数值的变量,位于栈上(局部变量在栈上、成员变量在堆上,静态字段/类在方法区),性能较高
- 且不支持null值
包装类型:
- 每个基本类型都有一个对应的包装类型(Byte、Short、Integer、Long、Float、Double、Character、Boolean)
- 包装类型是类,存储在堆中,可以用于面向对象编程
- 支持null值
区别:
1)性能区别:
- 基本类型:占用内存小,效率高,适合频繁使用的简单操作
- 包装类型:本质是对象,涉及内存分配和垃圾回收,性能相对较低
2)比较方式不同:
- 基本类型:比较用==,直接比较数值
- 包装类型:比较对象的内容用equals(),比较对象的内存地址用==
3)默认值不同:
- 基本类型:默认值是0,false等
- 包装类型:默认值为null
4)初始化的方式不同:
- 基本类型:直接赋值
- 包装类型:用new
5)存储方式不同:
- 基本类型:如果是局部变量则保存在栈上,如果是成员变量保存在堆中
- 包装类型:保存在堆上(成员变量,在不考虑JIT优化的栈上分配时,都是随着对象一起保存在堆上的)<

最低0.47元/天 解锁文章
1886

被折叠的 条评论
为什么被折叠?



