Странное поведение Java в NULL в методе перегрузки [duplicate]

На этот вопрос уже есть ответ здесь:

Какая перегрузка будет выбрана для NULL в Java? 3 ответа

У меня есть следующий фрагмент кода:

public static void foo(Object x) {
    System.out.println("Obj");
}
public static void foo(String x) {
    System.out.println("Str");
}

Если я позвонюfoo(null) почему нет двусмысленности? Почему программа вызываетfoo(String x) вместо ?foo(Object x)

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

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