Sobes.tech
Junior — Middle

Hozzáfér-e az equals metódus a data classon belüli mezőkhöz?

sobes.tech MI

Válasz az MI-től

Igen, a Kotlin adat osztályban lévő equals metódus hozzáfér minden, az osztályon belül deklarált mezőhöz, beleértve a privátakat is. Fordításkor a Kotlin automatikusan generál egy equals megvalósítást, amely összehasonlítja az összes tulajdonságot, amit az adat osztály elsődleges konstruktorában deklaráltak.

Például:

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

A generált equals metódus összehasonlítja a User két objektumának id és name értékét.

Így az equals figyelembe veszi az összes, az adat osztályban deklarált tulajdonságot, függetlenül azok hozzáférési módosítóitól.