java 关于Integer, int == 判断相当的笔记。
public static void main(String[] arg) { Integer a = 1; //相当于 Integer.valueOf(1) //首先判断是否从常量池里拿; Integer b = new Integer(1); //直接把类放到堆中。 System.out.println(new Integer(1) == new Integer(1)); //false, 原因同上。 System.out.println(Integer.valueOf(1) == Integer.valueOf(1)); //true, 原因同上。 // false Integer与Integer比较是否相等时,笔记类的内存地址,-128~127(最大值可修改)会放到缓存池里,内存地址一样 System.out.println(a == b); int c = 1; // true ,Integer与int比较是否相等时,Integer自动拆箱 (区别,a是Integer,c是int) System.out.println(new Integer(1) == c); }