1. Обзор В этой статье мы поговорим о разнице между операторами «==» и «===» в Kotlin . В Котлине, как и в Java, есть две разные концепции равенства: ссылочное равенство и структурное равенство. 2. Ссылочное равенство Для ссылочного равенства мы используем символ === , который позволяет нам оценить ссылку на объект (если она указывает на тот же объект). Это эквивалент оператора «==» в Java. Допустим, у нас определены два целых числа: val a = Integer(10)
val b = Integer(10) и мы проверяем их оба, выполнив a === b , который вернет false , поскольку это два отдельных объекта, каждый из которых указывает на разные места в памяти. 3. Структурное равенство Теперь для структурного равенства мы используем символ == , который определяет, являются ли оба значения одинаковыми (или равными). Обычно это достигается путем реализации методаquals() в Java. Итак, используя тот же пример с целыми числами , нам просто нужно сделать a == b , и в этом случае он вернет true , поскольку обе переменные им