Chamada ambígua Java de Varargs
Estou um pouco confuso sobre Javavarargs métodos:
public static int sum(int ...a) {
return 0;
}
public static double sum(double ...a) {
return 0.0;
}
Quando tentei invocarsum()
sem passar nenhum argumento, então oint
A versão do método foi invocada. Não entendo o porquê; normalmente o compilador deve gerar um erro.
Por outro lado, o seguinte trecho de código gera um erro do compilador quando tento chamarsum
sem nenhum argumento:
public static int sum(int ...a) {
return 0;
}
public static boolean sum(boolean ...a) {
return true;
}