Spec-Zone.ru › Kotlin 2

equals

kotlin-stdlib/kotlin.reflect/KClass/equals

Требования к платформе и версии: Common (1.0), Wasm-JS (1.8), Wasm-WASI (1.8)

expect abstract operator override fun equals(other: Any?): Boolean

Указывает, равен ли этот объект какому-либо другому объекту.

Реализации должны удовлетворять следующим требованиям:

  • Рефлексивность: для любого ненулевого значения x метод x.equals(x) должен возвращать true.

  • Симметричность: для любых ненулевых значений x и y метод x.equals(y) должен возвращать true тогда и только тогда, когда y.equals(x) возвращает true.

  • Транзитивность: для любых ненулевых значений x, y и z, если x.equals(y) возвращает true и y.equals(z) возвращает true, то x.equals(z) должен возвращать true.

  • Согласованность: для любых ненулевых значений x и y многократные вызовы x.equals(y) должны стабильно возвращать true или стабильно возвращать false при условии, что информация, используемая при сравнениях equals объектов, не изменяется.

  • Никогда не равен null: для любого ненулевого значения x метод x.equals(null) должен возвращать false.

Подробнее о равенстве в Kotlin.

Требования к платформе и версии: JS (1.1), Native (1.3)

actual abstract operator override fun equals(other: Any?): Boolean

Возвращает true, если этот экземпляр KClass представляет тот же класс Kotlin, что и класс, представленный other. На JVM это означает, что выполняются все следующие условия:

  1. other имеет то же имя класса Kotlin (полное имя), что и этот экземпляр.

  2. Объект Class, лежащий в основе other, загружен тем же загрузчиком классов, что и объект Class этого экземпляра.

  3. Если классы представляют Array, то объекты Class их типов элементов равны.

Например, на JVM экземпляры KClass для примитивного типа (int) и соответствующего ему типа-обёртки (java.lang.Integer) считаются равными, поскольку у них одно и то же полное имя "kotlin.Int".

Требования к платформе и версии: JVM (1.0)

actual abstract operator override fun equals(other: Any?): Boolean

Возвращает true, если этот экземпляр KClass представляет тот же класс Kotlin, что и класс, представленный other. На JVM это означает, что выполняются все следующие условия:

  1. other имеет то же имя класса Kotlin (полное имя), что и этот экземпляр.

  2. Объект Class, лежащий в основе other, загружен тем же загрузчиком классов, что и объект Class этого экземпляра.

  3. Если классы представляют Array, то объекты Class их типов элементов равны.

Например, на JVM экземпляры KClass для примитивного типа (int) и соответствующего ему типа-обёртки (java.lang.Integer) считаются равными, поскольку у них одно и то же полное имя "kotlin.Int".

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/equals.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API