frage zum Verlgeichen von Point Java 

Status
Für weitere Antworten geschlossen.

Blind_Brain

Registered +
Registriert
Juli 2005
Beiträge
270
Hi,

folgendes Prog. in Java:
Code:
Point p1, p2;
p1 = new Point (5,5);
p2 = new Point (5,5);

if (p1 == p2)
System.out.println("Objekte sind gleich");
else 
System.out.println("Objekte sind ungleich");
Warum gibt er mir aus, dass die Objekte ungleich sind?
Bitte um Erklärung!
Danke.

Gruß
B_B
 
Zuletzt bearbeitet von einem Moderator:
weils nicht das gleiche ist^^

in java sollten objekte mit der funktion compare() verglichen werden.

Code:
Point p1, p2;
p1 = new Point (5,5);
p2 = new Point (5,5);

if (p1.compare(p2))
System.out.println("Objekte sind gleich");
else 
System.out.println("Objekte sind ungleich");

kannst ja mal von beiden objekten toString(); ausgeben. wenn das gleich ist, dann kommt auch mit "==" true raus ;)

mfg
 
Hallo Blind_Brain,

mein Vorredner sHiNoDa hat vollkommen recht!!!

Der Hintergrund: Beim Vergleich zweier Points (p1 == p2) vergleichst Du die Speicheradressen der Objekte, auf die p1 bzw. p2 verweisen. Die dürfen und sind natürlich nicht gleich!!!!

Gruss und schöne Festtage,

Sin
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten