Junior — Middle
Jaký je účel metody equals ve třídě Any?
sobes.tech AI
Odpověď od AI
Metoda equals ve třídě Any slouží k porovnání aktuálního objektu s jiným objektem na základě rovnosti. V Androidu (a Java/Kotlin) je tato metoda obvykle přepsána tak, aby definovala logiku porovnání objektů podle jejich obsahu, nikoli podle odkazu. To je důležité pro správnou funkci kolekcí a dalších datových struktur.
Pří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
}
}