Sobes.tech
Junior — Middle

Πώς πραγματοποιείται η σύγκριση αντικειμένων για ισότητα με τον τελεστή == στη Java;

sobes.tech AI

Απάντηση από AI

Στην Java, ο τελεστής == κατά τη σύγκριση αντικειμένων ελέγχει αν και οι δύο μεταβλητές αναφέρονται στο ίδιο αντικείμενο στη μνήμη, δηλαδή συγκρίνει τις αναφορές και όχι το περιεχόμενο των αντικειμένων.

Αν θέλετε να συγκρίνετε το περιεχόμενο των αντικειμένων, χρησιμοποιείτε τη μέθοδο equals(), η οποία μπορεί να υπερισχύσει στην κλάση για τον ορισμό της λογικής σύγκρισης.

Παράδειγμα:

String a = new String("test");
String b = new String("test");

System.out.println(a == b);       // false, διαφορετικά αντικείμενα
System.out.println(a.equals(b));  // true, ίδιο περιεχόμενο

Έτσι, ο τελεστής == για αντικείμενα ελέγχει την ισότητα των αναφορών, όχι των τιμών.