我有一个与以下代码片段相关的问题:
class VarArgsTricky {
static void wide_vararg(long... x) {
System.out.println("long...");
}
static void wide_vararg(Integer... x) {
System.out.println("Integer...");
}
public static void main(String[] args) {
int i = 5;
wide_vararg(i, i, i); // needs to widen and use var-args
Long l = 9000000000l;
wide_vararg(l, l); // prints sucessfully "long..."
}
}
第一次调用wide_vararg无法编译(显示该方法不明确),而第二次可以成功编译。
这种行为有何解释? 谢谢!