Integer a=100,b=200詳細比較

最近面試問到的總結下

假如

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對象出來 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章