Java中包装类的数据缓存

如何理解包装类

包装类包含两部分:即装箱和拆箱。
使用包装类的优点: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

你可能感兴趣的:(JAVA学习,java)