比如:
Integer => int Boolean => boolean ...
人生最曼妙的风景,竟是内心的淡定与从容!
int是基本型,Integer是對象,這是二者本質區別,具體使用見下圖。
具體場合具體用。
一般bean裡面基本型即可。
如果欄位涉及物件。那就用包裝類型。
兩個原則:
在需要使用物件的時候用 boxed 類型,在不需要物件的地方盡量使用 unboxed 類型
在整個程式中,盡可能少的進行 boxed unboxed 轉換,換句話說,就是在必須轉換的時候才轉換
能用基本盡量用基本型,如果需要用到包裝類別的時候再去轉換吧
上面都說了許多,我說一個比較重要的一點,
Long i,long i 分別遞加 ,分別運行一百萬次,就會發現所需的時間相差非常非常大! 這是由於 Long物件運算時每次建構一個新的Long物件裝long實例
看你需要使用null不,需要就用包裝類型吧
盡量使用原生型別。需要傳引用或放進容器中就用包裝器。
在32位元系統中 儲存一個Integer類型的開銷: 32位元儲存物件引用 32位元儲存物件標記資訊:物件狀態等 32位元儲存物件的鎖定資訊 32位元儲存int值資訊 也就是說,初始化一個Integer物件需要開銷128位元記憶體空間
而一個普通int型別數據,只需要32位元的資訊。
在這樣的情況下,你覺得優先考慮用什麼?
除非必要,不然一律使用基本型別。
一般都是直接使用基本類型的,很少用封裝的,除非有需要
int是基本型,Integer是對象,這是二者本質區別,具體使用見下圖。
具體場合具體用。
一般bean裡面基本型即可。
如果欄位涉及物件。那就用包裝類型。
兩個原則:
在需要使用物件的時候用 boxed 類型,在不需要物件的地方盡量使用 unboxed 類型
在整個程式中,盡可能少的進行 boxed unboxed 轉換,換句話說,就是在必須轉換的時候才轉換
能用基本盡量用基本型,如果需要用到包裝類別的時候再去轉換吧
上面都說了許多,我說一個比較重要的一點,
Long i,long i 分別遞加 ,分別運行一百萬次,就會發現所需的時間相差非常非常大!
這是由於 Long物件運算時每次建構一個新的Long物件裝long實例
看你需要使用null不,需要就用包裝類型吧
盡量使用原生型別。需要傳引用或放進容器中就用包裝器。
在32位元系統中 儲存一個Integer類型的開銷:
32位元儲存物件引用
32位元儲存物件標記資訊:物件狀態等
32位元儲存物件的鎖定資訊
32位元儲存int值資訊
也就是說,初始化一個Integer物件需要開銷128位元記憶體空間
而一個普通int型別數據,只需要32位元的資訊。
在這樣的情況下,你覺得優先考慮用什麼?
除非必要,不然一律使用基本型別。
一般都是直接使用基本類型的,很少用封裝的,除非有需要