数据类型及其包装类

包装类的作用:
1、包装类是final修饰的,不能被继承。
2、包装类是不可变类,在构造包装类对象后,不允许更改包装在其中的值。
3、方便在基本数据类型与字符串之间进行转换。
4、可以更加便捷的对基本数据类型进行操作。
5、方便在集合中的存储。
基本数据类型与包装类的对应关系

byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

Java 5 增加了自动装箱、拆箱机制,提供基本数据类型和包装类型的相互转换操作
为什么这么设计
java 中 new 一个对象,会把这个对象存储在堆里面,所有的类都是 object 的子类,通过 stack 指向堆。 1.java 中的对象很多都是朝生夕死的,所以一直放在堆中不是很高效; 2.Java 是一个面相对象的编程语言,基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型(如我们在使用集合类型 Collection 时就一定要使用包装类型而非基本类型),它相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。
代码

public class Number {
    public static void main(String[] args) {
        Integer i1 = 10;
        Integer i2 = 10;
        Integer i3 = new Integer(10);
        Integer i4 = new Integer(10);
        System.out.println(i1 == i2);//true比较的是地址
        System.out.println(i1 == i3);//false
        System.out.println(i3 == i4);//false
        System.out.println(i1.equals(i2));//true 比较的是地址
        System.out.println(i1.equals(i3));//true
        System.out.println(i3.equals(i4));//true
    }
}

结果

true
false
false
true
true
true

不同
声明方式不同:基本类型不使用 new 关键字,而包装类型需要使用 new 关键字来在堆中分配存储空间;

存储方式及位置不同:基本类型是直接将变量值存储在栈中,而包装类型是将对象放在堆中,然后通过引用来使用;

初始值不同:基本类型的初始值如 int 为 0,boolean 为 false,而包装类型的初始值为 null ;

使用方式不同:基本类型直接赋值直接使用就好,而包装类型在集合如 Collection、Map 时会使用到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值