java中包裝類型比較問題

1.在java中基礎數(shù)據(jù)類型int,long,float,double...等等對應的包裝類為Integer,Long,Float,Double...

在對數(shù)據(jù)進行比較的時候如

int a = 1000;int b=1000;

if( a == b){
    return true
}else{
    return false
}

我們都知道程序運行的結果是true;

2.但是包裝類情況就不一樣了

先來一段代碼窘哈,直接上圖
我們拿Integer做示范


代碼片段1

可以看到a1和a2同樣是100 比較兩個值時得到了正確的結果膀捷,但是b1和b2的值雖然都相同但是比較的結果時false

為什么會出現(xiàn)這種情況呢够傍?

我們先要明白一件事,包裝類的對象是對象悦析,對象用==比較的是對象的地址

Integer b1 = 1000; 其實b1 是一個對象,是java自動把1000包裝成Integer對象(new Integer(1000))并賦值給b1
同理b2也是一個對象,此時使用==筐咧,那么比較的是b1和b2的對象地址,當然為false啦噪矛;

那么為什么100又能使用==比較呢量蕊?

原來包裝類型Integer在內部會對較小的數(shù)值進行緩存(-128 ~ 127),然后其他的Integer對象若是拿-128 ~ 127的值是直接從緩存拿的,我摘取一段Integer類的源碼


integer內部源碼1

integer內部源碼2

很明顯此時的a1 和 a2都是IntegerCache中的同一個緩存艇挨,所以可以直接用==比較

3.如何正確使用方式

其實也很簡單
我們可以使用Integer類的intValue()獲取值后進行比較
b1.intValue() == b2.intValue()


integer內部源碼3
integer內部源碼4

或者使用equals()方法残炮,Integer對equals進行了重寫,源碼是這樣的


integer內部源碼5

b1.equals(b2);

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末雷袋,一起剝皮案震驚了整個濱河市吉殃,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌楷怒,老刑警劉巖蛋勺,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異鸠删,居然都是意外死亡抱完,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門刃泡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來巧娱,“玉大人,你說我怎么就攤上這事烘贴〗恚” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵桨踪,是天一觀的道長老翘。 經常有香客問我,道長,這世上最難降的妖魔是什么铺峭? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任墓怀,我火速辦了婚禮,結果婚禮上卫键,老公的妹妹穿的比我還像新娘傀履。我一直安慰自己,他們只是感情好莉炉,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布钓账。 她就那樣靜靜地躺著,像睡著了一般呢袱。 火紅的嫁衣襯著肌膚如雪官扣。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天羞福,我揣著相機與錄音惕蹄,去河邊找鬼。 笑死治专,一個胖子當著我的面吹牛卖陵,可吹牛的內容都是我干的。 我是一名探鬼主播张峰,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼泪蔫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了喘批?” 一聲冷哼從身側響起撩荣,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎饶深,沒想到半個月后餐曹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡敌厘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年台猴,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俱两。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡饱狂,死狀恐怖,靈堂內的尸體忽然破棺而出宪彩,到底是詐尸還是另有隱情休讳,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布尿孔,位于F島的核電站衍腥,受9級特大地震影響磺樱,放射性物質發(fā)生泄漏。R本人自食惡果不足惜婆咸,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望芜辕。 院中可真熱鬧尚骄,春花似錦、人聲如沸侵续。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽状蜗。三九已至需五,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間轧坎,已是汗流浹背宏邮。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留缸血,地道東北人蜜氨。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像捎泻,于是被迫代替她去往敵國和親飒炎。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內容