包装类包含两部分:即装箱和拆箱。 使用包装类的优点: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) ; //输出结果为:false2、Float Double类型数据不进行缓存。
Double a =1.0; Double be =1.0; System. out. println (a==b) ; //输出false3、Boolean类型数据进行缓存,缓存内容为true或false。
Boolean a = true; Boolean b = true; System. out. println (a==b) ; //输出true4、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