int 與 Integer 話說陣列轉集合

2021-10-07 21:18:10 字數 912 閱讀 8135

話說是自從jdk5後,而這就可以自動進行型別轉換了。

當然,區別還是有的,就是物件和「非物件」什麼的。可是,今天進行乙個測試,出了乙個小問題,現將**貼下:

**0:先來乙個正常點的,用string進行操作:

public static boolean teststrign (string num) ;

boolean flag = arrays.aslist(nums).contains(num);

return flag;

}

**a:使用integer,將乙個陣列轉為乙個集合,並執行 包含 判斷,結果正常;

public static boolean testinteger (integer num) ;

boolean flag = arrays.aslist(nums).contains(num);

return flag;

}

**b:使用int,進行如上操作,結果錯誤;

public static boolean testint (int num) ;

boolean flag = arrays.aslist(nums).contains(num);

return flag;

}

ok,那麼,其他的基本型別呢?繼續測試:

public static boolean testchar (char num) ;

boolean flag = arrays.aslist(nums).contains(num);

return flag;

}

等等,結果反應,均出錯。

然而其對應的引用型別卻沒有問題。至於這些問題的原因,尚未找出來,自己有些看法,但還未求證出來,就不說了。

Integer 與int 賦值比較

測試 test public void integertest 執行結果 true true false true 斷點除錯分析結果 i01是引用型別,如圖引用的位址為integer 651 i02是值型別 i03是引用型別,因為引用型別值放在堆裡面,如果堆裡有值,i03這種取值方式就直接引用原有值...

Integer 與int 賦值比較

測試 test public void integertest 執行結果 true true false true 斷點除錯分析結果 i01是引用型別,如圖引用的位址為integer 651 i02是值型別 i03是引用型別,因為引用型別值放在堆裡面,如果堆裡有值,i03這種取值方式就直接引用原有值...

int與integer的區別

1.所佔記憶體不同 integer物件會占用更多的記憶體。integer是乙個物件,需要儲存物件的元資料。但是int是乙個原始型別的資料,所以占用的空間更少。2.型別及初始值 int 是基本型別,直接存數值,在類進行初始化時int類的變數初始為0 而integer是物件 integer是int的封裝...