配列とコレクション比較問題
次のコードA・Bの実行結果の違いとして正しいものはどれか。 【コードA】 int[] arr = new int[3]; System.out.println(arr[0]); 【コードB】 String[] arr = new String[3]; System.out.println(arr[0]);
A.コードAは0を出力し、コードBはnullを出力する← 正解
✓ 正解です。int型配列の初期値は0、参照型(String等)配列の初期値はnullのため、コードAは0、コードBはnullを出力します。
B.コードAもコードBも0を出力する
✗ int型の初期値は0ですが、String型の初期値は0ではなくnullです。
C.コードAはnullを出力し、コードBは空文字を出力する
✗ int型の初期値はnullではなく0です。また、String型の初期値は空文字ではなくnullです。
D.コードAもコードBも例外が発生する
✗ 配列は宣言時に自動初期化されるため、要素へのアクセスで例外は発生しません。