-1
考虑下面的代码:的Java可变参数方法的行为不同
public class Main {
public static void main(String[] args) {
new CC().ff(1);
}
}
class CC {
public static void ff(int cc) {
System.out.println("bbbbb");
}
public static void ff(int... ints) {
System.out.println("aaaaaaa");
}
}
输出将是:
aaaaaaa
bbbbb
如果我改变第三行CC.ff(1)
,输出将是:
bbbbb
有谁能告诉我为什么?
你的第三个行*是*'新CC()FF(1);'。请张贴您的原始代码,否则很难理解您的问题。顺便说一句,你的代码不能编译:你的方法被称为'FF()',但你尝试调用'FF()' – AlexR 2012-01-27 22:56:29
我编辑你的代码中调用'ff',而不是'FF',所以它至少编译。我建议你再试一次,建立一个你想要解释的简单的repro例子,因为这 - 即使它编译 - 可能不是它。 – 2012-01-27 22:56:49
看起来像示例代码中缺少的东西。 – user949300 2012-01-27 22:57:47