×
メソッド
可変長引数をメソッドのパラメータとして使用する際には、以下の2つの厳格な文法制約を守らなければなりません。 1. 可変長引数はパラメータリストの「最後(末尾)」にしか記述できない。 2. 1つのメソッド宣言につき、可変長引数は「最高1つ」しか指定できない。 例えば public void test(String... args, int count) や public void test(int... a, String... b) といった宣言はどちらのルールにも違反するため、コンパイルエラーとなります。 また、可変長引数と配列型引数は内部表現が同等であるため、public void test(int... numbers) と public void test(int[] numbers) を同一クラス内に定義してオーバーロードすることはできません。

試験でのポイント

Java Silver試験では、可変長引数の文法ルール違反を見抜かせる問題が頻出します。 1. 位置ルール違反:void method(int... nums, String str) のように可変長引数が先頭や中間に置かれていると即座にコンパイルエラーになります。 2. 複数指定違反:void method(int... a, double... b) のように複数記述されていると即座にコンパイルエラーになります。 3. オーバーロードの優先順位:固定引数のメソッド(例: print(int a, int b))と可変長引数のメソッド(例: print(int... nums))の両方が適用可能な場合、常に「固定引数のメソッド」が優先して選択されます。

関連する用語

可変長引数の内部構造体である「配列」や、メソッドの柔軟な定義を行う「オーバーロード」、およびプログラムのエントリーポイントである「mainメソッド(String... args表記も可)」は関連する重要用語です。

ファクトチェック:1Z0-825-JPN(2026-08-01確認)。試験番号1Z0-825-JPN、試験時間90分、60問、合格ライン65%です。

この記事は公式出題範囲・チェックリストとの対応を編集部で確認した学習解説です。

公式資料

用語集一覧 / ← 前の記事 / 次の記事 →