Varargs Java неоднозначный вызов
Я немного запутался в Javaпеременные аргументы методы:
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;
}