Integer 和 int 判断 相等

package mob.push.api;


public class test {
	@SuppressWarnings("deprecation")
	public static void main(String[] args) {
		int i1 = 1;
		int i2 = 1;
		Integer integer1 = new Integer(1);
		Integer integer2 = new Integer(1);
		
		System.out.println(i1 == i2);// true
		// integer1拆箱
		System.out.println(i1 == integer1);// true
		// i装箱
		System.out.println(integer1.equals(i1));// true
		// 两个对象地址不一样
		System.out.println(integer1 == integer2);// false
		// 两个对象值一样
		System.out.println(integer1.equals(integer2));// true
		
		// 自动装箱规范要求boolean、byte、char <= 127, 介于
		// -128~127之间的short和int被包装到固定对象中,也就是
		// 说,这些范围内的相同值对应同一个对象
		Integer integer3 = 10;
		Integer integer4 = 10;
		System.out.println(integer3 == integer4); // true
		
		Integer integer5 = 1000;
		Integer integer6 = 1000;
		System.out.println(integer5 == integer6); // false
		System.out.println(integer5.equals(integer6)); // true
		
		String string1 = "20";
		Integer integer7=20;
		System.out.println(Integer.valueOf(string1)==integer7);//true
	}
}

  

原文地址:https://www.cnblogs.com/cuijinlong/p/14848574.html