public class IntegerTest {
public static void main(String[] args) {
//自动装箱 基本数据类型--->包装
int x=900;
Integer y=x;
System.out.println("int类型x为"+x+"\n"+"Integer类型y为"+y);
//自动拆箱 包装---->基本数据类型
Integer i=100;
Integer I=100;
//这里的i是一个对象 保存的是一个内存地址
//能相加的一定是基本数据类型 这里进行了自动拆箱
System.out.println(i+1);
System.out.println(i==I);
Integer a=1000;
Integer b=1000;
System.out.println(a==b);
}
}
在Java中 -128-127内的数字会放入整数型常量池 所以上面代码第一个==结果为true
直接从整数型常量池取出来 不需要new对象 Integer类加载的时候 会初始化整数256个对象
==对于基本数据类型的比较 会看二者的内容是否相等 而对于引用数据类型 则判断内存地址