Почему два метода с сигнатурой (примитив, обертка) и (примитив, примитив) приводят к неоднозначности вызова метода (обертка, примитив)?

Это'это просто упражнение, но я могуНе могу понять двусмысленность:

private static void flipFlop(String str, int i, Integer iRef) {
System.out.println(str + "ciao");
}

private static void flipFlop(String str, int i, int j) {
System.out.println(str + "hello");
}

public static void main(String[] args) {
flipFlop("hello", new Integer(4), 2004);
}

Это говорит:

Метод flipFlop (String, int, Integer) неоднозначен для типа Test

Я бы предположил, что второй аргумент был бы развернутИНТ и так второйflipFlop Метод был бы выбором.

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

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