Sobes.tech
Junior — Middle

Mi a feladata az equals metódusnak az Any osztályban?

sobes.tech MI

Válasz az MI-től

Az equals metódus az Any osztályban az aktuális objektumot egy másik objektummal összehasonlítva ellenőrzi azok egyenlőségét. Androidon (és Java/Kotlin) ez a metódus általában felülíródik, hogy az objektumok tartalom szerinti összehasonlását valósítsa meg, nem a referencia szerint. Ez fontos a kollekciók és más adatstruktúrák helyes működése szempontjából.

Kotlin példa:

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