您的位置:首页 > 编程语言 > Java开发

Java基本数据类型与封装类的区别

2015-11-23 00:00 369 查看
摘要: 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 没有缓存

示例如下:



如果超过缓存范围,那么在比较的时候返回结果为true,如果是使用new的方式来得值,那么无论在什么范围都是false,即不是基本类型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: