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 metodaequals(). - Î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().