Sobes.tech
Junior — Middle

Na czym polega cel metody equals w klasie Any?

sobes.tech AI

Odpowiedź od AI

Metoda equals w klasie Any służy do porównania bieżącego obiektu z innym obiektem pod kątem równości. W Androidzie (i Java/Kotlin) ta metoda jest zazwyczaj nadpisywana, aby zdefiniować logikę porównania obiektów na podstawie ich zawartości, a nie odwołania. Jest to ważne dla poprawnego działania kolekcji i innych struktur danych.

Przykład w 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
    }
}