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);
}