2
Varargs Java歧义调用
我对Java的varargs方法有些困惑: public static int sum(int ...a) { return 0; } public static double sum(double ...a) { return 0.0; } 当我尝试sum()不传递任何参数的情况下进行调用时,将int调用方法的版本。我不明白为什么;通常,编译器必须引发错误。 相比之下,当我尝试sum不带任何参数的情况下,以下代码会生成编译器错误: public static int sum(int ...a) { return 0; } public static boolean sum(boolean ...a) { return true; }