什么是自动拆箱自动装箱

自动拆箱、装箱是从JDK1.5开始才有的特性,其实它主要就是指基本类型与包装类的自动转换。

如int 与Integer类型。 
int 是基本类型,而Integer是int的包装类,在JDK1.5之前,int类型的值是不能直接赋给Integer类型的值 的,也就是说 
Integer integer = 5; 会报错,因为5是基本类型,而Integer是包装类,Integer的正确定义方式为: 
Integer integer = new Integer(5); 但是,从基本类型转换成包装类是经常使用的操作,尤其是Integer与int的转换很是频繁。所以在JDK1.5开始,它们之间的转换不在需要程序员再去进行转换了,JDK已经将它自动进行了转换,这种操作就叫自动拆箱、装箱。

不只是int与Integer可以自动转换,八大基本类型都可以, 以下是八大基本类型及对应的包装类

基本类型 byte short int long float double char boolean 
包装类型 Byte Short Integer Long Float Double Character Boolean

其中,int与Integer的转换最多也最频繁,所以有一点要注意,也是面试时常问到的问题: 
int与Integer的区别: 
1.int的默认值 为0,而Integer的默认值为null,在使用Integer前需要初始化。 
2.int是基本类型,而Integer是包装类,可以自动 拆箱,Integer封装了很多的方法。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值