Junior — Middle
A cosa serve il metodo hashCode() nel linguaggio Kotlin?
sobes.tech AI
Risposta dell'AI
Il metodo hashCode() in Kotlin viene utilizzato per ottenere il codice hash di un oggetto, un valore intero che aiuta a memorizzare e cercare efficacemente gli oggetti in collezioni come HashMap o HashSet.
È importante che se due oggetti sono uguali secondo il metodo equals(), anche i loro hashCode() coincidano. Ciò garantisce il corretto funzionamento delle strutture dati basate su hash.
Esempio di overriding di hashCode() insieme a equals():
data class User(val id: Int, val name: String)
// In una data class, hashCode e equals sono implementati automaticamente
// Se si scrive una classe manualmente:
class Person(val id: Int, val name: String) {
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other !is Person) return false
return id == other.id && name == other.name
}
override fun hashCode(): Int {
var result = id
result = 31 * result + name.hashCode()
return result
}
}