Merkwürdiges Java-Null-Verhalten beim Überladen von Methoden [duplizieren]
Diese Frage hat hier bereits eine Antwort:
Welche Überladung wird in Java für null ausgewählt? 3 AntwortenIch habe den folgenden Codeausschnitt:
public static void foo(Object x) {
System.out.println("Obj");
}
public static void foo(String x) {
System.out.println("Str");
}
Wenn ich anrufefoo(null)
warum gibt es keine mehrdeutigkeit? Warum ruft das Programm auf?foo(String x)
anstattfoo(Object x)
?