-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