- Integer的值在-128到127时,Integer对象是在IntegerCache.cache产生,会复用已有对象,也就是说,这个区间的Integer可以直接用等号进行判断。
- Integer的值在-128到127之外时,Integer对象在堆上产生,不会复用已有对象,用等号会返回false。
- 建议老老实实用equals()方法来比较Integer对象。
Integer a=12;
Integer b=12;
System.out.println(a==b);//true
Integer c=1222;
Integer d=1222;
System.out.println(c==d);//false