int[] array = new int[10];
for (int i = 0; i < array.length; i++) {
array[i] = 0;
}
この例では、値 0 はプリミティブまたはオブジェクトとして配列内に格納されていますか?
どうもありがとう
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 コンテナー (およびその他のジェネリック クラス) は、オブジェクトのみを操作できることに注意してください。たとえば、 の を構成することはできず、List
のint
のみList
を構成できInteger
ます。上で説明したように、この制限は配列には適用されません。