兩個Integer ==和!=的比較,爲何失效?

當數值不在 -128~127範圍時就不會進行緩存操做,它會選擇進行new integer()的操做。這樣他們被分配到堆裏面。【這個能夠去查看integer.valueof()的源碼】。在用==或者!=比較時,會比較地址,因此兩個Integer比較失效了,但能夠選擇用equals比較或者轉成int型再比較。
相關文章
相關標籤/搜索