装箱和拆箱,自动装箱和自动拆箱

装箱和拆箱,自动装箱和自动拆箱

以Integer的创建为例。

装箱和拆箱

装箱:把基本数据类型转换成包装类对象(int—>Integer)

Integer num1=new Integer(17);

拆箱:把一个包装类的对象,转换成基本类型的变量(Integer—>int)

int num2=num1.intValue();

自动装箱和自动拆箱

自动装箱:

Integer num3=17;

自动拆箱:

int num4=num3;

自动装箱和拆箱操作又是一个“语法糖”,只是编译器级别的新特性。 在底层依然是手动的拆箱和装箱。

装箱的具体实现

Integer num=new Integer("132");
//调用了构造器,在构造其中可以把String转化为Integer的parseInt()
System.out.println(num);
//Integer num6="18";没有调用构造器所以不可以

integer的构造方法:

public Integer(String s) throws NumberFormatException {
        this.value = parseInt(s, 10);
    }

可以看到里面的parseInt方法就是将Integer(“132”)里的字符串转换为int类型的数的主要方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值