Sobes.tech
Junior — Middle

Care sunt diferențele dintre operatorii de comparație în Java și Kotlin?

sobes.tech AI

Răspuns de la AI

În Java și Kotlin, operatorii de comparație au unele diferențe:

  • În Java, pentru compararea tipurilor primitive se folosește ==, iar pentru compararea obiectelor metoda equals().
  • În Kotlin, operatorul == verifică egalitatea structurală, adică apelează equals() în fundal.
  • În Kotlin, operatorul === verifică egalitatea referențială (similar cu == pentru obiecte în Java).

Exemplu:

// Java
String a = new String("test");
String b = new String("test");
boolean result1 = (a == b);       // false, referințe diferite
boolean result2 = a.equals(b);    // true, conținut identic
// Kotlin
val a = String("test")
val b = String("test")
val result1 = (a == b)    // true, egalitate structurală
val result2 = (a === b)   // false, referințe diferite

Prin urmare, în Kotlin, operatorul == este mai convenabil pentru compararea conținutului obiectelor, în timp ce în Java trebuie apelată explicit metoda equals().