java基础笔记(十三)自动拆装箱

自动拆装箱

jdk1.5新特性

	public static void main(String[] args) {
		Integer a = new Integer(5);  
		Integer a1 = 5;     
		
		a1 += 10;
		System.out.println(a1);
	}

正常来说 给a1赋值就需要利用第一行代码,用构造方法,因为 a1是引用类型,其数据放在中,但为什么第二行代码不报错呢,就是因为自动装箱
下面来看反编译结果

	public static void main(String args[])
	{
		Integer a = new Integer(5);
		
		//这里进行了自动装箱,将基本数据类型(5)变成了引用类型
		Integer a1 = Integer.valueOf(5);  
		
		 //这里先自动拆箱,把a1变成基本数据类型,然后进行计算,完成后再把结果转为引用类型
		a1 = Integer.valueOf(a1.intValue() + 10);
		System.out.println(a1);
	}

一个问题
如果 a1 为null时,进行计算就会报错(空指针异常)
所以:先判断一下

		if(a1 != null){
			a1 += 10;
		}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值