我正在閱讀一本名爲「兩學期Java」的書,我真的不理解包裝類和自動裝箱。我不明白包裝類和自動裝箱?
你可以用一些代碼給我解釋一下嗎?
而且這是真正困擾我:
Object [] anArray = new Object[20];
anArray[0] = new Integer (37);
是什麼Object
參考這裏,是對象的類,並且代碼爲它創造一個數組?
我已經得到了這本書,我有一個小小的理解,我只是需要有人向我簡要地解釋一下。如果我在網上閱讀某些內容,我只會感到困惑。
我正在閱讀一本名爲「兩學期Java」的書,我真的不理解包裝類和自動裝箱。我不明白包裝類和自動裝箱?
你可以用一些代碼給我解釋一下嗎?
而且這是真正困擾我:
Object [] anArray = new Object[20];
anArray[0] = new Integer (37);
是什麼Object
參考這裏,是對象的類,並且代碼爲它創造一個數組?
我已經得到了這本書,我有一個小小的理解,我只是需要有人向我簡要地解釋一下。如果我在網上閱讀某些內容,我只會感到困惑。
包裝類
包裝類用於封裝,使得操作可以對他們進行定義的原始類型。例如,ToString()方法在包裝類中定義,但不能在原始類型上調用。
自動裝箱
自動裝箱允許基本類型和包裝器類型
自動裝箱
int i;
Integer j;
i = 1;
j = 2;
i = j;
j = i;
之間自動轉換沒有自動裝箱
int i;
Integer j;
i = 1;
j = new Integer(2);
i = j.intValue();
j = new Integer(i)
關於問題的第二部分,
Object [] anArray = new Object[20];
定義的陣列能夠對象(在它的20個對象的特定情況下),所以它允許持有任何物體在陣列的每個位置上,
anArray[0] = new Integer (37);
Integer是Object的子類。所以它允許保持Integer在數組中
對象是一個類,anArray被定義爲一個由20個對象組成的數組。這允許您在數組的每個索引中粘貼不同類型的東西,而不是強制每個索引都是完全相同的類型。在這個例子中,索引0被設置爲一個整數,但索引1可以被設置爲一個布爾值。
包裝類用於將原始數據類型轉換爲對象,自動裝箱意味着將原始數據類型隱式轉換爲等價的包裝類對象,例如int將轉換爲Integer對象。
欲瞭解更多信息,請閱讀下面的文章:在java中
包裝類提供了轉換成原始對象和對象爲基本的機制。
由於J2SE 5.0,自動裝箱和拆箱功能自動將原語轉換爲對象和對象爲原語。已知原始對象的自動轉換和自動裝箱,反之亦然拆箱。
自動裝箱是Java編譯器在基元類型和它們相應的對象包裝類之間進行的自動轉換。例如,將int轉換爲Integer,double轉換爲Double等等。如果轉換以另一種方式進行,則稱爲拆箱。
下面是自動裝箱的最簡單的例子:
字符ch = 'A';
你有沒有試過在網上找「autoboxing」?我有一種預感,即你不是第一個想知道這件事的人。 –