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
}
}