上級 › 可変長引数の制約とオーバーロード優先順位 › パターン4
可変長引数の制約とオーバーロード優先順位
最後の引数にしか置けません。
1 public class Main { 2 static void f(int... nums) { System.out.println("ints"); } 3 static void f(String... strs) { System.out.println("strings"); } 4 public static void main(String[] args) { 5 f(____); ^ 6 } 7 }
Main.java:5: error: reference to f is ambiguous
空欄を埋めてビルドを通す
引数なしの呼び出しは、どちらの可変長引数も長さ0で受け取れるためあいまいです。型が決まる引数を1つ渡すと解決します。
次の問題