原文:Integer類型值相等或不等分析

看到博客園一位博友寫的面試問題,其中一題是 Integer a Integer b a b true :false 當時我一看,這不是明顯的true 嘛, 看到評論討論才知道,對於Integer值比較 有范圍規定 。平時都是用equals做比較判斷,簡單省事。沒注意到這些細節。正好趁此機會好好谷歌了一下,以此做個備份。 用以下代碼做測試 得出的結論是 Integer 類型的值在 , 期間,Int ...

2016-08-17 03:18 8 7466 推薦指數:

查看詳情

Java判斷Integer類型是否相等

我們知道Integer是int的包裝類,在jdk1.5以上,可以實現自動裝箱拆箱,就是jdk里面會自動幫我們轉換,不需要我們手動去強轉,所以我們經常在這兩種類型中隨意寫,平時也沒什么注意 但Integer他是對象,我們知道 == 比較的是堆中的地址,但有個奇怪的事是, 如果 Integer ...

Thu Jun 13 18:37:00 CST 2019 0 3807
Java判斷兩個Integer類型是否相等

  當數值范圍是[-128,127],比如a=12,b=12,用==去比較得出的是true;當數值范圍超出[-128,127],比如a=12345,b=12345,用==得出的結果是false。   因為超出范圍時,Integer會去new一個對象,比較的是兩個對象的地址。   建議 ...

Thu Jun 04 02:09:00 CST 2020 0 1909
判斷Integer相等不能用==

今天在開發中判斷兩個Integer相等Integer a = 3; Duixiang duixiang = new Duixiang(); duixiang = DAO.getDuixiang(); Integer b = duixiang.getB ...

Thu May 18 01:29:00 CST 2017 0 2163
Long類型 Integer類型 比較相等

如果Long在[-128, 127]之間,會放在緩存里面,而超過這個范圍就要new一個新的對象,也就是說==不能判斷對象是否相等Integer i = XXX ,就是Integer i = Interger.valueOf(XXX), 首先判斷XXX 是否在-128-127 之間 ...

Fri Aug 17 19:37:00 CST 2018 0 756
Integer判斷是否相等問題

在開發中遇到一個問題,定義了兩個Integer變量,暫且定義為Integer a; Integer b; 這兩個由前端賦值並傳到后台,前台傳的是a = 12345, b = 12345, 但我在后台比較的時候 if (a == b),卻返回false,后來改為equals(),返回true ...

Wed Apr 15 17:47:00 CST 2020 0 797
Integer 類型數值判斷相等的坑

題目: 輸出結果: true false 結論: 1. 如果沒有通過屬性配置high的,這默認為127。low的為-128。 2. Integer 類型在[-128,127] 區間,用 “==”則為true。 其他都是通過new Integer(i)返回 ...

Fri Nov 02 22:32:00 CST 2018 0 902
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM