Kann nicht wirklich eine passende Überschrift finden...
Folgende Situation:
Ich lese nen Rutsch Daten ein und verpacke diese in eigene Objekte, wleche zunächst in einer List landen. Im nächsten Schritt iteriere ich über die List, die dabei erhaltenen Referenzen auf mein Objekte nutze ich als Keys und Values in diversen anderen Listen und Maps.
Nun wundere ich mich über gewisse Phänomene in meinem Programm und kam eben zu der Erkenntnis, dass wenn ich später in den diversen Collections ein get() für meine Referenzen mache, ich nichts zurückbekomme, obwohl ich diese als Key verwendet habe.
Nun habe ich z.B. ein Objekt das einen String, sagen wir "XYZ" enthält. Keines dieser Objekte birgt dengleichen String, so dass man sie ganz gut durch Ausgaben unterscheiden kann. Gebe ich nun aber den Hashcode von "XYZ" an der einen Stelle aus, ist es ein anderer als der von dem "XYZ", das ich ursprünglich in einer Map verwendet habe und dadurch bekomme ich bei get() nicht das, was ich eigentlich haben will.
Finde ich sehr strange, weil ich nur Referenzen nutze, nirgends clone() nutze oder neue Instanzen meiner Objekte erzeuge.
Als wenn ich in eine DB-Tabelle "Tabelle" nen Datensatz mit dem Primärschlüssel ID = 3 reinsetze und mir ein SELECT * FROM Tabelle WHERE ID = 3 nen AUgenblick später kein ResultSet liefern würde.
Hab jetzt auch realtiv wenig Bock mir selbst nen Schlüssel zu bauen und meine ganzen Listen und Maps umzuwürfeln. Vielleicht kann mir einer erklären was womöglich die Ursache sein könnte. BTW überschrieben meine Objekte hashCode() NICHT, bin mir aber nicht sicher ob das was mit dem Problem zu tun hat.
Folgende Situation:
Ich lese nen Rutsch Daten ein und verpacke diese in eigene Objekte, wleche zunächst in einer List landen. Im nächsten Schritt iteriere ich über die List, die dabei erhaltenen Referenzen auf mein Objekte nutze ich als Keys und Values in diversen anderen Listen und Maps.
Nun wundere ich mich über gewisse Phänomene in meinem Programm und kam eben zu der Erkenntnis, dass wenn ich später in den diversen Collections ein get() für meine Referenzen mache, ich nichts zurückbekomme, obwohl ich diese als Key verwendet habe.
Nun habe ich z.B. ein Objekt das einen String, sagen wir "XYZ" enthält. Keines dieser Objekte birgt dengleichen String, so dass man sie ganz gut durch Ausgaben unterscheiden kann. Gebe ich nun aber den Hashcode von "XYZ" an der einen Stelle aus, ist es ein anderer als der von dem "XYZ", das ich ursprünglich in einer Map verwendet habe und dadurch bekomme ich bei get() nicht das, was ich eigentlich haben will.
Finde ich sehr strange, weil ich nur Referenzen nutze, nirgends clone() nutze oder neue Instanzen meiner Objekte erzeuge.
Als wenn ich in eine DB-Tabelle "Tabelle" nen Datensatz mit dem Primärschlüssel ID = 3 reinsetze und mir ein SELECT * FROM Tabelle WHERE ID = 3 nen AUgenblick später kein ResultSet liefern würde.
Hab jetzt auch realtiv wenig Bock mir selbst nen Schlüssel zu bauen und meine ganzen Listen und Maps umzuwürfeln. Vielleicht kann mir einer erklären was womöglich die Ursache sein könnte. BTW überschrieben meine Objekte hashCode() NICHT, bin mir aber nicht sicher ob das was mit dem Problem zu tun hat.