Функция перегрузки с использованием 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 является примитивным, поэтому второй метод должен быть вызван в обоих случаях. Это нормальное поведение?

Я нашел это:Сообщение об ошибке Переполнение стека

Ответы на вопрос(3)

Ваш ответ на вопрос