Hallo,
ich will Objekte mit einer TreeMap mappen. Dabei wird einem Objekt von KlasseA jeweils ein Objekt von KlasseB zugewiesen. Damit das funktioniert, muss KlasseA bekanntlich das Interface Comparable implementieren. Die Instanzen von KlasseA sind allerdings nun nicht inhaltlich sinnvoll vergleichbar, daher muss irgendwas künstliches her, was möglichst wenig Aufwand macht. Also einfach irgndetwas eindeutiges, vergleichbares, was ein Objekt so besitzt. Jedr Instanz von KlasseA eine künstliche, eindeutige ID mitzugeben, ist mir eigentlich zu aufwändig.
Was kann man denn da sonst noch machen?
Erste Idee: Speicheradresse nehmen. Ich habe allerdings bisher keine Funktion "getMemoryAdress" oder so etwas gefunden
Hashcode. Ist sicherlich praktikabel, da der HashCode eines Objektes *in der Regel* der Speicheradresse entspricht, und *in der gegenwärtigen Implementierung* aus praktikablen Gründe zwei verschiedene Objekte auch immer zwei verschiedene Hashcodes bekommen. Würde also funktionieren, ist aber nicht sicher, weil die erwähnten Vorraussetzungen nicht zugesichert sind.
Ansonsten bleibt wohl nur, selber irgendeine Lösung bauen. Könnte mir z.B. einen Applikationsweiten UniqueRandomGenerator vorstellen, der Zufallszahlen erzeugt, die sich nicht wiederholen. Aber das ist mir eigentlich zu aufwändig, wenn es auch eine einfachere Lösung gibt.
Fürs erste werde ich mal die Hashcode-Variante probieren..
Jemand eine Idee?
Gruß+Danke
Jan
ich will Objekte mit einer TreeMap mappen. Dabei wird einem Objekt von KlasseA jeweils ein Objekt von KlasseB zugewiesen. Damit das funktioniert, muss KlasseA bekanntlich das Interface Comparable implementieren. Die Instanzen von KlasseA sind allerdings nun nicht inhaltlich sinnvoll vergleichbar, daher muss irgendwas künstliches her, was möglichst wenig Aufwand macht. Also einfach irgndetwas eindeutiges, vergleichbares, was ein Objekt so besitzt. Jedr Instanz von KlasseA eine künstliche, eindeutige ID mitzugeben, ist mir eigentlich zu aufwändig.
Was kann man denn da sonst noch machen?
Erste Idee: Speicheradresse nehmen. Ich habe allerdings bisher keine Funktion "getMemoryAdress" oder so etwas gefunden
Hashcode. Ist sicherlich praktikabel, da der HashCode eines Objektes *in der Regel* der Speicheradresse entspricht, und *in der gegenwärtigen Implementierung* aus praktikablen Gründe zwei verschiedene Objekte auch immer zwei verschiedene Hashcodes bekommen. Würde also funktionieren, ist aber nicht sicher, weil die erwähnten Vorraussetzungen nicht zugesichert sind.
Ansonsten bleibt wohl nur, selber irgendeine Lösung bauen. Könnte mir z.B. einen Applikationsweiten UniqueRandomGenerator vorstellen, der Zufallszahlen erzeugt, die sich nicht wiederholen. Aber das ist mir eigentlich zu aufwändig, wenn es auch eine einfachere Lösung gibt.
Fürs erste werde ich mal die Hashcode-Variante probieren..
Jemand eine Idee?
Gruß+Danke
Jan