Junior — Middle
Miks Java-s soovitatakse kasutada meetodit equals objekti võrdlemiseks == operaatori asemel?
sobes.tech AI
Vastus AI-lt
Java keeles operaator == võrdleb objektidele viitavaid viiteid, see tähendab, kontrollib, kas kaks muutujat osutavad mälus samale objektile. Meetod equals() on mõeldud objekti sisu võrdlemiseks, see tähendab, nende loogilist võrdust.
Näiteks, kahe erineva String objekti puhul sama tekstiga, == tagastab false, ja equals() — true:
String a = new String("test");
String b = new String("test");
System.out.println(a == b); // false, erinevad objektid
System.out.println(a.equals(b)); // true, sama sisu
Seetõttu on soovitatav kasutada equals(), et kontrollida objektide väärtuste võrdust, võrreldes just sisu, mitte viiteid.