java基本数据类型与封装类 示例_Java基本数据类型与封装类的区别

Java的基本数据类型:int , double , float , long, byte , char ,boolean

对应的封装类:Integer , Double ,Float ,Long , Byte , Char ,Boolean

复杂类型和基本类型的内存模型本质上是不一样的,简单数据类型的存储原理是这样的:所有的简单数据类型不存在“引用”的 概念,简单数据类型都是直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间里面,而Java语言里面只有这八种数据类型是这种存储模型;而其他的只要是继承于Object类的复杂数据类型都是按照Java里面存储对象的内存模型来进行数据存储的,使用Java内存堆和内存栈来进行这种类型的数据 存储,简单地讲,“引用”是存储在有序的内存栈上的,而对象本身的值存储在内存堆上的。

对基本数据类型封装之后,封装类有可以有方法和属性,然后就可以利用这些方法和属性来处理数据,比如Ingeter对象中有parseInt(String s),可以把字符串转换为int类型等。我们都知道有些类型的数据会有默认值,基本数据类型跟封装类型的默认值是不一样的,比如int 默认为0;但是Integer为null;因为封装类产生的是对象,而对象默认值为null。

对于封装过之后,每个类型都有对应的缓存:

Byte 全部缓存

Boolean 全部缓存

Integer <=127 缓存

Character <=127 缓存

Short  -128~127 缓存

Long -128~127缓存

Float 没有缓存

Double  没有缓存

示例如下:

e9433a01964945b52bd6bca2c4401556.png

如果超过缓存范围,那么在比较的时候返回结果为true,如果是使用new的方式来得值,那么无论在什么范围都是false,即不是基本类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值