Sobes.tech
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.