【java学习】自动装箱与自动拆箱

package com.itheima_205自动装箱与拆箱;

public class IntegerDemo {

    public static void main(String[] args) {
        //自动装箱,将基本数据类型包装成需要的数据类型(官解:把基本数据类型转换为对应的包装类类型)
//        Integer i = Integer.valueOf(100);
        Integer i = 100;//{隐含的一个操作:Integer.valueOf(100);}这个操作被称为自动装箱

        //拆箱:将包装类类型转换成需要的数据类型(官解:把包装类类型转换成对应的基本数据类型),什么叫对应的,就是说你正在对变量进行的操作中,需要将变量变成什么数据类型
        Integer ii = 100;
//        ii = ii.intValue() + 200;
        ii += 200;//{隐含的一个操作:ii = ii.intValue() + 200;}这个操作北被称为自动拆箱

        //自动装箱或拆箱中可能会遇到的报错.原因解释:在第17行,会进行自动装箱,即Integer.valueOf(iii)。但是此时iii为null,所以会报错
        Integer iii = null;
        iii += 300;//.NullPointerException

        //报错的改进
        Integer iii = null;
        if (iii != null) {
            iii += 300;//.NullPointerException
        }
    }
}

注:解释在代码段里,代码不可直接运行,根据测试需要注释段落

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值