オプションA:
int[] array; // 整数型の配列を宣言しています。
array = new int[] {}; // 宣言された配列を空の配列で初期化しています。
このコードは、int[]
型の配列変数 array
を宣言し、空の配列で初期化しています。これはJavaの配列を扱う正しい方法です。Javaでは、配列を宣言後に空の配列で初期化することが可能です。
オプションE:
Double[] array5 = {null, 1.0}; // Double型のオブジェクト配列を宣言し、nullと1.0で初期化しています。
このコードは、Double
型の配列 array5
を宣言し、最初の要素を null
、次の要素を 1.0
で初期化しています。Javaの Double
クラスはオブジェクト参照型なので、その要素として null
値を許容しています。このため、この初期化方法も正しいです。
これに対して、他のオプションは以下の理由で不適切です:
オプションB:
int[] array2 = new int[3]; // ここでは配列を宣言し、3つの要素で初期化しています。
array2 = {1, 2, 3}; // これは不正です。配列リテラルは宣言時にのみ使用できます。
Javaでは、配列リテラルを直接変数に代入するには宣言と同時に行う必要があります。代入のみの行で配列リテラルを使用することはできません。
オプションC:
Double[] array3 = new Double[3] {}; // これはDoubleオブジェクトの配列を宣言し、3つのnullで初期化しています。
無名配列を作る時は大カッコの中に要素数を指定しません。
オプションD:
int[] array4 = {array4[0], array4[1]}; // これは自分自身の未初期化の状態の要素を使って初期化しようとしています。
これは不正です。なぜなら、array4
を初期化する際に array4
自身の要素を使用しようとしているからです。配列が初期化される前には、その要素にアクセスすることはできません。
Top comments (0)