Функция перегрузки с использованием varargs
Это не скомпилирует:
public class Methods
{
public static void method(Integer... i)
{
System.out.print("A");
}
public static void method(int... i)
{
System.out.print("B");
}
public static void main(String args[])
{
method(7);
}
}
Это скомпилирует и сработает:
public class Methods
{
public static void method(Integer i)
{
System.out.print("A");
}
public static void method(int i)
{
System.out.print("B");
}
public static void main(String args[])
{
method(7);
}
}
Первый и второй пример очень похожи. Первый использует varargs, второй нет. Почему один работает, второй нет. 7 является примитивным, поэтому второй метод должен быть вызван в обоих случаях. Это нормальное поведение?
Я нашел это:Сообщение об ошибке Переполнение стека