【发布时间】:2011-10-02 18:56:38
【问题描述】:
我有一个关于以下代码sn-p的问题:
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 编译失败(说该方法不明确),而第二次编译正常。
关于这种行为的任何解释? 谢谢!
【问题讨论】:
-
如果这不仅仅是关于重载的实验,请阅读有效的 Java SE:第 41 条明智地使用重载。
-
这纯粹是一个实验,只是为了解决 OCPJP 认证考试的潜在问题。
标签: java