S
sin777
Gast
Hallo, die Frage ist eher allgemein aber an diesem Beispiel wird mein Verständnisproblem zumindest deutlich. Die Methode Collections.frequency() hat als zweiten Parameter ein Object. Wenn ich jetzt bspw. eine Collection mit Strings habe und schauen will wie oft ein bestimmtes Wort darin vorkommt, dann funktioniert die Methode Collections.frequency() einwandfrei. Meine Frage ist aber nun: Warum?
Der Datentyp ist nicht generisch sondern nur vom Typ Object. Wie kann es dann sein, dass alle Elemente aus der Collection mit einem equals() von einem Object verglichen werden können...Object definiert doch die Methode equals() sicherlich ganz anders als String. Und intern kann doch nun nicht für jedes mögliche Objekt ein instanceof-Befehl gemacht werden. Mich würde nur generell einmal interessieren, wie das denn funktioniert. In diesem Zusammenhang: Warum funktioniert Folgendes:
obj dürfte doch jetzt gar nichts von der equals-Methode von String wissen, da es im Container Object ist.
Ich hoffe ihr versteht mein Problem und könnt mir das vllt erklären, das würde mich wirklich sehr freuen.
Vielen Dank im Voraus
Der Datentyp ist nicht generisch sondern nur vom Typ Object. Wie kann es dann sein, dass alle Elemente aus der Collection mit einem equals() von einem Object verglichen werden können...Object definiert doch die Methode equals() sicherlich ganz anders als String. Und intern kann doch nun nicht für jedes mögliche Objekt ein instanceof-Befehl gemacht werden. Mich würde nur generell einmal interessieren, wie das denn funktioniert. In diesem Zusammenhang: Warum funktioniert Folgendes:
PHP:
Object obj = "testen";
System.out.println(obj.equals("testen"));
obj dürfte doch jetzt gar nichts von der equals-Methode von String wissen, da es im Container Object ist.
Ich hoffe ihr versteht mein Problem und könnt mir das vllt erklären, das würde mich wirklich sehr freuen.
Vielen Dank im Voraus