美文网首页
java基本数据类型和包装类

java基本数据类型和包装类

作者: 勤任风 | 来源:发表于2020-01-02 20:34 被阅读0次

【两者之间的区别】

1. 定义不同,包装类是对象,基本数据类型不是

2. 初始值不同,包装类的初始值是null,而基本数据类型则是不同类型不一样

3. 声明和使用方式不同,包装类使用new

4. 存储位置不同,基本数据类型使用栈存储,包装类的引用也存储在栈中,但包装类的实例存储在堆里

【equals的使用】

基本数据类型和包装类用equal做比较时,会将基本数据类型自动装箱,如图1

图1

【==的使用】

1. 基本数据类型和包装类用==做比较时,会将包装类自动拆箱

2. 两个包装类用==做比较时,比较的是对象的内存地址

3. 两个基本数据类型用==做比较时,比较的是值

【其他】

1. 包装类的valueof() 是用new方法来构建对象的

2.  包装类根据类型的不同有不同的缓存范围,有些没有缓存

图2

如图2,第一个会相等是因为Integer的缓存范围是-128-127,所以两者会相等,第二个则因为超出了缓存范围,两个对象的内存地址不一样,所以不相等。

PS:1.  Double类型没有缓存

         2. 只有valueOf方法构造对象时会用到缓存,new方法等不会使用缓存!

学习地址

相关文章

网友评论

      本文标题:java基本数据类型和包装类

      本文链接:https://www.haomeiwen.com/subject/lmjtactx.html