Dlaczego dwie metody z podpisem (prymitywnym, opakowującym) i (prymitywnym, prymitywnym) powodują, że wywołanie metody (opakowanie, prymitywne) jest niejednoznaczne?

To tylko ćwiczenie, ale nie mogę zrozumieć dwuznaczności:

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);
}

To mówi:

Metoda flipFlop (String, int, Integer) jest niejednoznaczna dla typu Test

Domyśliłbym się, że drugi argument zostałby rozpakowanyint i tak drugiflipFlop metoda byłaby wyborem.

questionAnswers(3)

yourAnswerToTheQuestion