Auf Thema antworten

Natürlich überschreiben die DKey die Methoden [code]equals(Object o)[/code] und [code]hashCode[/code] ...


Der triviale Ansatz über ein SuchKey über setter ist natürlich genial^^


Deine vier Fälle sind logisch,

aber das ist doch die Definition von hashcode und equals, oder?


So sieht das z.b. bei mir für ein (int,int) Key aus aus:


[code=Java]        @Override

        public int hashCode() {

            return 31 * (31 + inta) + intb;

        }


        @Override

        public boolean equals(Object obj) {

            try {

                return this.inta == ((DIntIntKey) obj).inta

                        && this.intb == ((DIntIntKey) obj).intb;

            } catch (Exception e) {

                e.printStackTrace();

            }

            return false;

        }[/code]



Sollte ich dich richtig verstanden habe,

habe ich in der Klasse einen SuchKey,

wo ich bei jedem get die setter Aufrufe ...

Solle ich nichts im Cache finden muss ich dann aber einen neuen DKey erzeugen,

vielleicht durch einen eigene klon Methode,

sonst würde ich ja immer den Key im Cache ändern.


Dann muss ich mir nur noch Gedanken um die Synchronisation machen, da der SuchKey ja geteilt wird.



Oben