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

配列の`length`フィールドとArrayListの`size()`メソッドの違いとして正しいものはどれか。

A.`length`は実際に格納された要素数を返し、`size()`は配列全体のキャパシティを返す
✗ 説明が逆です。`length`は配列の固定サイズを返し、`size()`はArrayListに格納された現在の要素数を返します。
B.`length`は配列の要素数(固定値)を返すフィールドであり、`size()`はリストに現在格納されている要素数を返すメソッドである← 正解
✓ 正解です。`length`は配列が持つフィールドで宣言時に決まる固定値を返し、`size()`はArrayListのメソッドで現在の要素数を返します。
C.`length`も`size()`も同じ値を返すが、`length`はメソッド、`size()`はフィールドである
✗ `length`はフィールド(括弧なし)、`size()`はメソッド(括弧あり)であり、それぞれ異なる対象に使われます。
D.`length`はArrayListにも使用でき、`size()`は配列にも使用できる
✗ `length`は配列専用のフィールドで、ArrayListには使用できません。また`size()`は配列には使用できません。

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