Integer a = 1,等價於Integer a = Integer.valueOf(1);
Integer類內部維護了一個IntegerCache類,用數組維護-128到127之間的Integer值,除非顯示聲明瞭java.lang.Integer.IntegerCache.high的值,具體怎麼聲明,還沒有找到。。。
一開始加載Integer類的時候,就初始化了IntegerCache類,Integer.valueOf()方法,如果傳入的值是-128到127,會賦值IntegerCache中對應數組的值,如果不在此區間,會重新new一個Integer對象,所以用==會返回false。