jdk1.8下為何結(jié)果一個(gè)true,一個(gè)false
1 回答

小明同學(xué)愛思考
TA貢獻(xiàn)10條經(jīng)驗(yàn) 獲得超5個(gè)贊
正常地,Integer和其他的java類型一樣會,聲明并創(chuàng)建類對象,如果要比較對象中值大小,應(yīng)該重寫equals方法,使用==比較查看的是引用的是否為同一個(gè)對象。
但特殊的是,Integer會維持一個(gè)緩存IntegerCache,<128的數(shù),都會存儲在緩存用,其他值<128的Integer對象會直接引用其中的數(shù)字,因此值相同且<128的Integer象引用的是同一對象,==比較結(jié)果為true。
添加回答
舉報(bào)
0/150
提交
取消