Sobes.tech
Junior — Middle

Má metóda equals prístup k poliam deklarovaným v rámci data class?

sobes.tech AI

Odpoveď od AI

Áno, metóda equals v Kotlin data triede má prístup ku všetkým poliam, ktoré sú deklarované vnútri tejto triedy, vrátane súkromných. Pri kompilácii Kotlin automaticky generuje implementáciu equals, ktorá porovnáva všetky vlastnosti deklarované v primárnom konštruktore data triedy.

Napríklad:

data class User(val id: Int, val name: String)

Vygenerovaná metóda equals porovnáva id a name dvoch objektov User.

Týmto spôsobom equals zohľadňuje všetky vlastnosti deklarované v data triede, bez ohľadu na ich modifikátory prístupu.