Sobes.tech
Junior — Middle

Mis on meetodi equals eesmärk Any klassis?

sobes.tech AI

Vastus AI-lt

Any klassi equals meetodit kasutatakse praeguse objekti võrdlemiseks teise objektiga võrdluse eesmärgil. Androidis (ja Java/Kotlin) see meetod tavaliselt ülekirjutatakse, et määratleda objektide võrdlus loogika nende sisu põhjal, mitte viite põhjal. See on oluline kolleksioonide ja teiste andmestruktuuride korrektseks toimimiseks.

Kotlin näide:

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
}