java Integer 比較的問題

2021-09-01 15:06:35 字數 535 閱讀 3374

習慣上把integer和int型別混為一談

所以習慣的把

integer 的a 和 integer 的b使用==進行了比較,結果兩個值不相等

system.out.println(a == b);//列印false

老是忘記在給integer包裝類賦值的時候,他是呼叫public static integer valueof(int i)這個方法的,而這個方法裡有乙個判斷,當值在-128<=i<=127範圍的時候,是直接用的int賦值的,如果不在這個範圍的話就會new乙個物件

知道原因了,就好解決了,辦法有幾個

system.out.println(a.intvalue() == b.intvalue());

system.out.println(string.valueof(a.equals(b)));

int a1 = a,b1 = b;

system.out.println(a == b);

黑色頭髮:

Java Integer的相關蹊蹺

參考 integer的裝箱和拆箱 integer a 1 integer b 2 integer c 3 integer d 3 integer e 321 integer f 321 long g 3l long h 2l system.out.println c d system.out.pri...

Java Integer和String的比較操作

一 實驗 先看一組實驗,會有不少驚奇的發現 128,127 範圍的 自動裝箱 box 同值是同乙個物件 integer a 1 integer b 1 system.out.println i1 a b true 不在 128,127 範圍裝箱的integer,值相同也不是同乙個物件 a 128 b...

面試經常問的 mybatis的執行流程(比較簡潔)

mybatis的執行流程 在網找了好多,說的都很詳細,但是太多不太簡潔,看以下 就懂了 實際流程大概就是注釋的那幾句話,面試的時候就這麼說就行 1 獲取mybatis配置檔案並讀取配置 2 獲取sqlsessionfactory,並獲取實現類 defaultsqlsessionfactory 3 通...