Re: Eklige Vergleiche von Referenzen mittels ==



On 30 Nov., 14:18, "Ingo R. Homann" <ihomann_s...@xxxxxx> wrote:
Hi,

Ingo Menger schrieb:

Ich weiß nicht, was ihr habt. Daß gleich benannte Methoden auf
Exemplaren unterschiedlicher Klassen unterschiedliches machen, ist
doch Standard in der OO. Warum soll das ausgerechnet für == nicht
gelten.

Hier regen wir uns konkret darüber auf, dass...:

Long x=42;
Integer y=42;
if(x==y) {...}
if(x.equals(y)) {...}

...beides nicht funktioinert. (Und über ähnliche Effekte regen wir uns
auch auf. ;-)

Es funktioniert ja (wenn auch ein anderes "es" als man vielleicht
meinte).
Man muß halt nur wissen, was man will.
Werte vergleichen oder Objekte.
Ich würde schreiben x+0 == y+0. (für Werte, ungetestet)
Und x.equals(y) ist natürlich grob falsch.

Die Regeln, die uns sagen, was geht und was nicht geht, sind doch
trotz allem recht einfach und nebenbei auch noch leicht
rekapitulierbar, wenn man nur weiß, was "primitiv" heißt.
.



Relevant Pages