2010-10-13 72 views
-1

可能重複:
Wrapper class in java關於包裝類

我學到了包裝類,它是用來包裹的原始值。你們中的任何一個人能詳細解釋我有關包裝類的情況嗎?我們爲什麼要去包裝類,什麼時候?

回答

1

當您想在僅接受對象的地方使用基本數據類型(例如將它們添加到集合中)時,您需要一個包裝類(如Integer或Byte)。

沒有類包裝器,但是對於每種基本類型(整型爲int,布爾型爲布爾型,字節型爲字節等)都有單獨的類。

這些包裝類的工作原理是,它們是具有實例字段的對象,並且包含它們的原語。另外,在Java5中,編譯器知道如何在它們和原語之間自動轉換(稱爲裝箱/拆箱)。

設計一個API時,當它不是一個可選參數時,應該將一個原語作爲方法參數。如果它是可選的,你應該使用一個包裝器,以便可以使用null。

例如

List<String> result = search("keyword", limit); 
// you can set a limit (Integer) or leave it null (no limit). 
// easier to understand (I think) than using -1 or 0 or Integer.MAX_VALUE