moin MrWurf, moin Daniel :)
erstmal vielen Dank an Daniel. Deine Erklärung hat meinem Verständnis für dieses Problem sehr geholfen.
Leider bin ich mir absolut nicht im Klaren, in wie fern ich die equals-Methode überschreiben sollte. Den Vergleich habe ich ja schon in der CompareTo-Methode drin (ist die dann überhaupt noch nötig?). Muss dieser Vergleich dort auch stattfinden?
Am plausibelsten würde mir ja für einen solchen Fall dieses Konstrukt erscheinen (wirklich glücklich bin ich damit aber nicht):
public int compareTo(Object o) { //überschreibende compare-Methode
if(this.equals(o)) return 0
else return 1
}
public boolean equals(Object o) { //überschreibende equals-Methode
try {
Order order = (Order) o;
if (order.getNumber().equals(this.getNumber())){
return true; //Objekte sind gleich
}
} catch (ClassCastException e) {
error("No order");
}
return false; //Objekte sind nicht gleich
}
Allerdings bleibt ja hier dann noch das Problem mit der "Ordnung", die ich mit der compare-Methode erzielen müsste (was ich nicht kann, weil es für diese Auftragsobjekte keine wirkliche Ordnung gibt... und selbst wenn es sie geben würde, wär sie nicht interessant für die Anwendung)
Vor allem aber, habe bei dieser Lösung ich nicht die leiseste Ahnung, mit was ich die hashCode-Methode überschreiben sollte.
ist dein Problem mit den Hinweisen von gelöst?
Noch nicht ganz...
Ansonsten könnte ich noch andere Ansätze vorschlagen. Ich bin nämlich kein Fan von überschriebenen equals-Methoden.
Ich bin für alles offen :) Laß mich an deinen Ideen teilhaben.
liebe Grüße aus Berlin
lina-
Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)