缓存
装箱:基本数据类型转为包装类;
拆箱:包装类类型转为基本数据类型。
Java中只是对部分基本数据类型对应包装类的部分数据进行了缓存:
1.对Byte,Short,Integer,Long这四种数据类型提前进行缓存,范围为:-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、Character数据类型进行缓存对应的ASCII码。
Character a=127;
Character c=127;
System.out.println(a==c);//true
4、Boolean数据类型进行缓存。
Boolean a =true;
Boolean c =true;
System.out.println(a==c);//true
自动拆箱
和基本数据类型比较时,将包装类类型数据自动转换为基本数据类型。
int c = 127;
Integer cc = 127;
Integer ccc = new Integer(127);
System.out.println(c==cc);//true
System.out.println(c==ccc);//true
System.out.println(cc==ccc);//false