title image


Smiley Re: SortedSet
Nein, da liegst du nicht ganz falsch. Es geht aber darum, dass man, wenn man Comparable implementiert, angibt, dass das Objekt konsistent vergleichbar ist. D.h. zu jedem Zeitpunkt a.compareTo(b) das selbe Ergebnis liefern muss (siehe API Doku zu Comparable).

Wenn du aber die Attribute des Objekts änderst, änderst du seine Eigenschaften bzgl. Comparable, dadurch ist das Objekt inkonsistent.



Dazu muss man mal seine "kleine" Javawelt verlassen. Jeder, der ein Objekt (fremde API z.B.) in die Hand bekommt, dass Comparable implementiert geht davon aus, dass er eine Menge Objekte davon einmal sortiert und diese Sortierung ist immer gültig. Wenn nur du mit diesen Ojekten arbeitest, kriegst du zwar die Funktion hin, die du haben willst (wenn du diese Inkonsistenz immer berücksichtigst, z.B. durch umsortieren deiner Collection), aber dennoch ist dies nicht sauber und darf nicht gemacht werden.
VG, Bernd


Smart-Questions: smart-questions_de

SSCCE: Short, Self Contained, Correct (Compilable), Example

Posting... And You: http://de.youtube.com/watch?v=Uw5-GOG8SXo




geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: