自动拆箱:就是把基础数据类型自动封装并转换成对应的包装类对象:
Integer a=new Integer(5);
拆箱:就是把包装类的对象自动解包并转换成对应的基本数据类型
@Test
public void Demo(){
Integer a=new Integer(5);
//凡是包装类和基础数据类型运算,比较,都会自动拆箱。
int b=a+10;
//对于Integer,数据范围在一个字节[-128,127],放在栈中,否则放在堆中,堆中和栈中内容相等但本质不同。
int a1=100;
Integer a2=100;
System.out.println(a1==a2);//true
int b1=200;
Integer b2=200;
System.out.println(b1==b2);//true
Integer b3=200;
System.out.println(b2==b3);//false
}
关于String的装箱和拆箱
1)、凡是new出来的String,都不使用“==”来判断要用equals(equals比较的是内容)
2)、凡是从API中返回的String,都是new出来的。
@Test
public void Demo2(){
String a1="abc";
String b1="abc";
System.out.println(a1==b1);//true
String b2=new String("abc");
System.out.println(b1==b2);//false
System.out.println(b1.equals(b2));//true
}