上級 › 可変長引数の制約とオーバーロード優先順位 › パターン3
可変長引数の制約とオーバーロード優先順位
最後の引数にしか置けません。
1 public class Main { 2 static void f(Object... a) { System.out.println("varargs"); } 3 static void f(Object a) { System.out.println("single"); } 4 public static void main(String[] args) { 5 f(_________________); ^ 6 } 7 }
出力: single(引数1つのときは可変長より通常のオーバーロードが優先されます)
空欄を埋めてビルドを通す
可変長引数は最後の候補として選ばれます。曖昧さを避けるため、同名で両方定義しないのが安全です。
次の問題