java中有了基本类型为什么还要包装类?
Java中有8中基本数据类型,这8中类型有都有对应的包装类。
布尔型:boolean>Boolean.
整型:
byte》Byte
short》Short
int》Integer
long》Long
字符型:
char》Character
浮点型:
float》Float
double》Double
因为java是一种面向对象语言,所以很多时候都需要使用对象而不是基本数集类型。
基本类型和包装类型的区别
1.默认值不同,基本类型的默认值是0,false,或\u0000等,包装类的默认值是null。
2.初始化方式不同,包装类用new,基本类型不用。
3.存储方式不同,基本数据类型保存在栈上,包装类对象保存在堆上。
如何理解自动拆装箱
拆箱与装箱
包装类型就是对基本类型的包装,所以基本类型转换成包装类型的过程就是装箱;反之把包装类型转换成基本类型就是拆箱。
自动拆装箱,javase5中增加了自动拆装箱。
Interge i=10;是自动装箱
int b=i;是自动拆箱
自动装箱都是通过包装类的valueof()方法来实现的,自动拆箱都是通过包装类的xxxvalue of()方法来实现的。
例如:int的自动装箱是通过 Integer.valueof()方法实现,Integer的自动拆箱是通过Integer.intvalue()方法实现。
那些地方会用到自动拆装箱。
1.将基本类型放到集合类中。
List<Integer> list =new ArrayList<>();
2.基本类型和包装类型进行比较运算时,实际是把包装类自动拆箱成基本类型然后再进行对比运算。
3.当两个包装类进行四则运算时,实际就是把包装类自动拆箱成基本类型后再进行四则运算。
4.三目运算符的使用时,当第二和第三位操作数分别为包装类和基本类型时,其中对象类就会自动拆箱为基本类型。
浙公网安备 33010602011771号