[英]In an array, are the elements stored Primitives or Objects?
int[] array = new int[10];
for (int i = 0; i < array.length; i++) {
array[i] = 0;
}
在此示例中,值0是作為基元還是作為對象存儲在數組中的?
非常感謝
在這種情況下,該值將存儲為原語。 如果將類型更改為原始的包裝器 Integer
,則該值將作為“自動裝箱” Object
進入。 例如,此代碼將自動裝箱您的值:
Integer[] array = new Integer[10];
for (int i = 0; i < array.length; i++) {
array[i] = 0;
}
在Java中,既有基本數組,又有對象數組。
int[]
是基元數組,因此0
被存儲為基元。
對應的對象數組將為Integer[]
類型。 在這樣的數組中存儲0
將導致其“自動裝箱”到Integer
對象中。
值得指出的是,Java容器(和任何其他通用類)只能與對象一起使用。 例如,不可能構造一個int
List
,而只能構造一個Integer
List
。 如上文所述,此限制不適用於數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.