圖中i1,i2 和i3,i4是用了兩種方式來創建包裝類型Integer的 new Integer(1)創建的兩個對象應該是保存在堆區 =比較的是他們的地址 所以結果是false;i3,i4用=比較 結果就是true是不是創建的對象就直接保存在棧區 跟int i=1 效果一樣同時還有包裝類型的一些操作 ,這一點有點迷糊,請大神指教
1 回答

江戶川亂折騰
TA貢獻1851條經驗 獲得超5個贊
對于處于-127-128之間的數據,jdk認為使用比較頻繁,為了提高效率對這部分做了緩存。也就是說i3和i4是直接從緩存里面取,因此返回true;
而i1和i2是兩個對象,因此返回false
添加回答
舉報
0/150
提交
取消