最近面試問到的總結下
假如
Integer a =100
Integer b =100
a == b 是否爲true 我回答的是true
假如
Integer a =200
Integer b =200
a == b 是否爲true 我回答的是false
雖然回答對了但是沒有說出原理
現在總結如下:
當我們給一個Integer賦予一個int類型的時候會調用Integer的靜態方法valueOf
由源碼我們可以看到Integer的範圍是“-128~127”,當i在這個範圍內是從IntegerCache中直接獲取,當超越這個範圍纔會new 一個新的Integer對象出來