int 是我们常说的整形数字,Java语言虽然号称一切都是对象,但原始数据类型是例外。
Integer 是int对应的包装类,它有一个int类型的字段存储数据。
public static void main(String[] args) {
//原始数据类型赋值
int i1 = 10;
int i2 = 10;
System.out.println(i1 == i2);//都为原始数据类型,直接比较值,结果为true;
//Integer直接赋值
Integer x = 10;
Integer y = 10;
Integer w = 1000;
Integer z = 1000;
//两个Integer都会从-128~127之间拿缓存比较,如果数在-128到127之间,则是true,否则为false。
System.out.println(x == y); //结果为true
System.out.println(w == z); //结果为false
//new对象赋值
Integer a = new Integer(10);
Integer b = new Integer(10);
System.out.println(a == b);//比较的是对象地址,两个不同的对象,结果为false
System.out.println(a.equals(b));//使用equals方法,结果为true,因为equals会进行intValue拆箱操作
//Integer和int进行比较,Integer会自动拆箱变为int,结果为true
System.out.println(a >= i1);
}