如何理解包装类
包装类包含两部分:即装箱和拆箱。
使用包装类的优点:Java对部分经常使用的数据采用缓存技术,即第一次使用该数据则创建该数据对象并对其进行缓存,当再次使用等值对象时直接从缓存中获取,从而提高了程序执行性能。
拆箱:指将基本数据类型转化为包装类。
Integer a = 12 ;
装箱:指将包装类类型数据转化为基本数据类型。
int aa = a;//自动转化为基本数据类型。
包装类的特点
一、缓存
Java中只是对部分基本数据类型对应包装类的部分数据进行了缓存,例如:
1、Byte,Short,Integer,Long类型数据,Java对这四种数据类型提前进行缓存,范围为:-128~127,若超过此范围,则不进行缓存。
代码展示:
Integer a =127;
Integer b =127;
System. out.println (a==b) ;
//输出结果为:true
Integer a =128;
Integer b =128;
System. out.println (a==b) ;
//输出结果为:false
a = new Integer(127);
b = new Integer(127);
System. out.println (aInteqer==bInteger) ;
//输出结果为:false
2、Float Double类型数据不进行缓存。
Double a =1.0;
Double be =1.0;
System. out. println (a==b) ;
//输出false
3、Boolean类型数据进行缓存,缓存内容为true或false。
Boolean a = true;
Boolean b = true;
System. out. println (a==b) ;
//输出true
4、Character类型数据进行缓存,缓存内容为对应的ASCII码。
Character a =127;
Character b =127;
System. out. println (a==b );
//输出true
二、自动拆箱
自动拆箱:指和基本数据类型比较时,将包装类类型数据自动转换为基本数据类型。
代码展示:
int c = 128;
Integer cc = 128;
Integer ccc = new Integer(128) ;
System. out. println(c==cc) ;
System. out. println(c==ccc) ;
System. out. println (cc==ccc) ;
//结果为:
//true
//true
//false