Странное поведение 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)