原文:判斷Integer值相等不能用==

今天在開發中判斷兩個Integer值相等, Integer a Duixiang duixiang new Duixiang duixiang DAO.getDuixiang Integer b duixiang.getB System.out.print a b System.out.print a.equals b 發現a b時,為false,a.equals b 為true。 后來發現因為 ...

2017-05-17 17:29 0 2163 推薦指數:

查看詳情

Java判斷Integer類型的是否相等

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

Thu Jun 13 18:37:00 CST 2019 0 3807
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
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
Java判斷兩個Integer類型的是否相等

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

Tue Jan 05 22:33:00 CST 2021 0 448
Integer判斷是否相等問題 要用equals判斷不要用“==”判斷

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

Fri Jan 19 21:10:00 CST 2018 0 6291
[Java]判斷Integer相等最好不用==最好使用equals

測試代碼 結果輸出: Integer為對象判斷是否相等還是使用equals最靠譜,int為基本類型,判斷是否相等就是可以使用== 其中的原因: 這是源碼中的,也就是說cache中已有-128到127,不在這范圍的會新new ...

Tue Jul 17 19:57:00 CST 2018 0 9354
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM