原文:為什么不要使用==比較Integer?

比較Integer的時候,不要用 。 查看Integer的源碼,如下: 通過注釋可以知道,為了更好的空間和時間性能,Integer會緩存頻繁使用的數值,數值范圍為 到 ,在此范圍內直接返回緩存值。 IntegerCache.low 是 ,IntegerCache.high是 ,如果在這個區間內,他就會把變量i當做一個變量,放到內存中 但如果不在這個范圍內,就會去new一個Integer對象, 而如 ...

2019-08-27 23:29 1 440 推薦指數:

查看詳情

關於Integer類的值使用==比較

題記:前幾天面試Java基礎給來了個面試題Integer a=100,b=100;System.out.println(a==b); 當時回答是true,后來面試官又來了一個Integer a=200,b=200;System.out.println(a==b); 這個回答的也是true當時面試官 ...

Fri Mar 27 18:43:00 CST 2020 0 714
Integer比較值的時候小心使用

package integerdemo; public class IntegerDemo { public static void main(String[] args) { //-128--127之間 Integer ...

Thu Jul 07 23:17:00 CST 2016 0 2725
Integer和int使用==比較的總結

第5和第6行的結果都為true。因為Integer與int比較時,Ingeger都會自動拆箱(jdk1.5以上)。 第12行結果為true,第13行結果為false。因為Java在編譯的時候,Integer i4=127被翻譯成-> Integer i4 ...

Mon Oct 29 18:15:00 CST 2018 2 8335
在一個java類里,private int a; 什么時候要使用integer

private Integer index; if(index == null) index = 0; else this.index = index; Integer有一個明顯的好處,就是它能比int多表示一個值,沒錯就是null。假如一個屬性,名字叫a,假如它的類型是Integer,那它 ...

Thu Nov 22 06:04:00 CST 2018 0 990
要使用短路邏輯編寫 stl sorter 多條件比較

前言 最近工期緊、任務多,沒有時間更新博客,就水一期吧。雖然是水,也不能太水,剛好最近工作中遇到一個 sorter 多條件排序的問題,花費了半天時間來定位解決,就說說它吧。 背景 公司產品是一個 ...

Tue Jun 28 22:13:00 CST 2022 0 703
要使用Integer做HashMap的key,尤其在json序列化的時候

使用redisson cache來實現一個緩存功能,緩存省市縣的名稱,key是區域編碼,integer,value是name。結果取的時候,怎么都取不出。 找了半天問題才發現regionsMap的key都是字符串。 java.lang.ClassCastException ...

Wed Apr 24 04:47:00 CST 2019 0 2676
Integer和int使用==進行比較大小時的坑

先看一個例子: public static void main(String[] args) {   int i1 = 128;   Integer i2 = 128;   Integer i3 = new Integer(128);   System.out.println(i1 == i2 ...

Thu Apr 02 18:59:00 CST 2020 0 2402
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM