Hi.
Frage.
Ich hab mir nen Hashtable gemacht, der als Schlüssel Objekte einer von mir erstellten Klasse bekommt.
Diese ist wiederum von einer anderen Klasse abgeleitet, in der ich die
und die
Methoden überschrieben habe.
Wenn ich in diesen Methoden verschiedene Ausgaben in die Kommandozeile produziere, sehe ich, daß der HashTable die equals() - Methode überhaupt nicht benutzt, die hashCode() - Methode dagegen die ganze Zeit.
Die überschriebene hashCode() - Methode funktioniert ohne Probleme. Sie gibt den hashCode eines im Objekt gespeicherten Strings zurück. Sind also in einem Objekt gleiche Strings, so haben sie auch den gleichen hashCode.
(Das hab ich auch schon getestet).
Nun zum Problem. Die Methode
funktioniert nicht. Sie kann, obwohl der gleiche hashCode generiert wird, nicht zwei in dem Sinne gleiche Objekte als gleich erkennen => Sie liefert keinen Wert zurück.
Was kann ich nur tun? :bahnhof:
Danke.
ugh_bough[/code]
Frage.
Ich hab mir nen Hashtable gemacht, der als Schlüssel Objekte einer von mir erstellten Klasse bekommt.
Diese ist wiederum von einer anderen Klasse abgeleitet, in der ich die
Code:
equals()
Code:
hashCode()
Wenn ich in diesen Methoden verschiedene Ausgaben in die Kommandozeile produziere, sehe ich, daß der HashTable die equals() - Methode überhaupt nicht benutzt, die hashCode() - Methode dagegen die ganze Zeit.
Die überschriebene hashCode() - Methode funktioniert ohne Probleme. Sie gibt den hashCode eines im Objekt gespeicherten Strings zurück. Sind also in einem Objekt gleiche Strings, so haben sie auch den gleichen hashCode.
(Das hab ich auch schon getestet).
Nun zum Problem. Die Methode
Code:
Hashtable.get(Object key)
Was kann ich nur tun? :bahnhof:
Danke.
ugh_bough[/code]