Sobes.tech
Junior — Middle

Kokia yra metodo equals paskirtis klasėje Any?

sobes.tech AI

Atsakymas iš AI

Any klasės equals metodas skirtas palyginti esamą objektą su kitu objektu dėl jų lygybės. Android (ir Java/Kotlin) šis metodas dažnai perrašomas, kad apibrėžtų objektų palyginimo logiką pagal jų turinį, o ne nuorodą. Tai svarbu teisingam kolekcijų ir kitų duomenų struktūrų veikimui.

Kotlin pavyzdys:

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
}