MrWurf: Vergleich von Objekten

Beitrag lesen

Hallo,

Ich habe ein Objekt der Klasse Order und eine Liste (ungeordnet), die mehrer Objekte dieser Klasse enthält.
Nun würde ich ja erwarten, dass folgende Anweisung orderList.contains(actualOrder) überprüft, ob der Auftrag (Order) bereits in der Liste enthalten ist oder nicht. Leider bekomme ich _immer_ false zurück - selbst wenn ich kurz zuvor der Liste diesen Auftrag hinzugefügt habe (orderList.add(actualOrder).

deine Erwartung war nicht unbegründet. Was hast du da für eine Liste verwendet? Welche VM-Version? Bist du sicher, dass actualOrder nach add(actualOrder) nicht irgendwoher neu belegt wird?

Nun hatte ich die Vermutung, dass sich diese Objekte nicht vergleichen lassen,

Er vergleicht ja nicht die Objekte sondern die Referenzen auf diese, d.h. es wird auf Objektidentität geprüft. Das Comparable Objekte ermöglicht dagegen den Vergleich _verschiedener_ Objekte. Das ist in deinem Fall der falsche Weg.

Hat jemand (soweit meine wirren Ausführungen es zulassen) Ideen für mich?

Wenn die Antworten auf meine Fragen nix bringen, dann musst du ein bissel Code rausrücken.

Gruß
MrWurf