踩坑 Integer型別的整數比較大小

2021-08-11 06:44:26 字數 2108 閱讀 5796

先劃重點:integer型別的整數比較數值大小用equals.()intvalue(),盡量別用==去比較是否相等

之前沒注意過integer型別比較數值大小,一直在用==

某天,寫的一段程式沒跑通,才注意到這個問題

public

static

void

main(string args)

結果:

true

true

false

true

/**

* returns an instance representing the specified

* value. if a new instance is not

* required, this method should generally be used in preference to

* the constructor , as this method is likely

* to yield significantly better space and time performance by

* caching frequently requested values.

** this method will always cache values in the range -128 to 127,

* inclusive, and may cache other values outside of this range.

**@param i an value.

*@return an instance representing .

*@since 1.5

*/public

static integer valueof(int i)

-128到127之間的數,比較數值大小的時候用equals.()==得到的結果是一樣的,超出了這個範圍,用==比較大小就相當於判斷是否是同乙個物件了。

/**

* compares this object to the specified object. the result is

* if and only if the argument is not

* and is an object that

* contains the same value as this object.

**@param obj the object to compare with.

*@return if the objects are the same;

* otherwise.

*/public

boolean

equals(object obj)

return

false;

}

附上看到的乙個總結的比較好的例子

public

static

void

main(string args)

結果:

new出來的 a0==b0 :false

1呼叫intvalue a0.intvalue() == b0.intvalue()true

將integer自動拆箱 a0==c: true

直接賦值的兩個integer的比較a2 == b2: true

直接賦值的兩個integer的比較 a6==b6: false

直接賦值的兩個integer的比較 a5 == b5: false

直接賦值的兩個integer的比較 a4 == b4: false

呼叫intvalue a4.intvalue() == b4.intvalue(): true

踩坑筆記之Integer數值比較

很多東西,表面上看起來挺簡單,實際上別有洞天,一不小心就是乙個坑。記錄一下昨天遇到的integer數值比較所遇到的 奇葩bug 1.問題場景 先看如下一段 if activity.gettotalcounts activity.getparticipationcounts activity.gett...

Integer 型別數值判斷相等的坑

記錄乙個曾面試遇到的題目,看似簡單,實則有坑。題目 public static void main string args 寫下輸出結果 true false 以上是正確答案,親測。why?因為本姑娘答了兩個 true,然後.不說了,都是淚 我們在給 integer 型別變數賦值時,integer ...

Oracle欄位型別踩坑

用varchar 不許用char 通過postman跑乙個springcloudalibaba中的乙個子服務,debug跟進去看一下,已經接收到引數值 圖1 再檢視控制台輸出的sql 圖2 複製控制台的sql到資料庫執行是有資料的 圖3 已經確認資料庫連線沒有問題 通常情況下資料有空格,準確查詢是查...