Sobes.tech
Junior — Middle

Aký je účel metódy equals v triede Any?

sobes.tech AI

Odpoveď od AI

Metóda equals v triede Any slúži na porovnanie aktuálneho objektu s iným objektom na účely rovnosti. V Android (a Java/Kotlin) je táto metóda zvyčajne prepísaná na definovanie logiky porovnávania objektov podľa ich obsahu, nie podľa odkazu. To je dôležité pre správne fungovanie kolekcií a iných dátových štruktúr.

Príklad v Kotlin:

class Person(val name: String, val age: Int) {
    override fun equals(other: Any?): Boolean {
        if (this === other) return true
        if (other !is Person) return false
        return name == other.name && age == other.age
    }

    override fun hashCode(): Int {
        return name.hashCode() * 31 + age
    }
}