Случай 1
static void call(Integer i) {
System.out.println("hi" + i);
}
static void call(int i) {
System.out.println("hello" + i);
}
public static void main(String... args) {
call(10);
}
Результат случая 1: hello10
Случай 2
static void call(Integer... i) {
System.out.println("hi" + i);
}
static void call(int... i) {
System.out.println("hello" + i);
}
public static void main(String... args) {
call(10);
}
Показывает ошибку компиляции reference to call ambiguous
. Но я не мог понять. Зачем? Но, когда я прокомментировал какой-либо из методов call()
из Case 2
, тогда он отлично работает. Может ли кто-нибудь помочь мне понять, что здесь происходит?