Sobes.tech
Junior — Middle

Aké sú rozdiely medzi operátormi porovnania v Jave a Kotlin?

sobes.tech AI

Odpoveď od AI

V Java a Kotlin existujú určité rozdiely v operátoroch porovnávania:

  • V Java sa na porovnanie primitívnych typov používa ==, zatiaľ čo na porovnanie objektov sa používa metóda equals().
  • V Kotlin-e operátor == kontroluje štrukturálnu rovnosť, čo znamená, že volá equals() na pozadí.
  • V Kotlin-e operátor === kontroluje referenčnú rovnosť (podobne ako == pre objekty v Java).

Príklad:

// Java
String a = new String("test");
String b = new String("test");
boolean result1 = (a == b);       // false, rôzne referencie
boolean result2 = a.equals(b);    // true, obsah je rovnaký
// Kotlin
val a = String("test")
val b = String("test")
val result1 = (a == b)    // true, štrukturálna rovnosť
val result2 = (a === b)   // false, rôzne referencie

Preto je v Kotlin-e operátor == pohodlnejší na porovnávanie obsahu objektov, zatiaľ čo v Java-e je potrebné explicitne volať equals().