配列とコレクション比較問題

配列の初期化方法として、次のコードA・Bの違いを正しく説明しているものはどれか。 【コードA】 int[] a = new int[]{10, 20, 30}; 【コードB】 int[] b = {10, 20, 30};

A.コードAはコンパイルエラーになるが、コードBは正常にコンパイルされる
✗ コードAはコンパイルエラーになりません。`new int[]{...}`は有効な配列の初期化方法です。
B.コードAとコードBは同じ意味であり、どちらも正常に動作する← 正解
✓ 正解です。コードAの`new int[]{10,20,30}`とコードBの`{10,20,30}`は同じ配列を生成する省略形であり、どちらも正常に動作します。
C.コードBはコンパイルエラーになるが、コードAは正常にコンパイルされる
✗ コードBはコンパイルエラーになりません。宣言と同時に初期化する場合、`{}`のみの省略形が使用できます。
D.コードAは要素数3の配列を生成するが、コードBは要素数0の配列を生成する
✗ コードBも要素数3の配列を生成します。初期化子の要素数が配列のサイズになります。

Oracle Certified Java Programmer, Bronze SE の問題一覧