Sobes.tech
Junior — Middle

Կա արդյոք `equals` մեթոդը հասանելիություն տվյալ data class-ի ներսում հայտարարված դաշտերին?

sobes.tech AI

Պատասխան AI-ից

Այո, Kotlin data class-ի equals մեթոդը հասանելի է այդ դասի ներսում հայտարարված բոլոր դաշտերին, ներառյալ՝ մասնավորներին: Կոմպիլյացիայի ժամանակ Kotlin-ը ավտոմատ կերպով ստեղծում է equals-ի իրականացմանը, որը համեմատում է data class-ի հիմնական կոնստրուկտորում հայտարարված բոլոր հատկությունները:

Օրինակ՝

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

Ստեղծված equals մեթոդը համեմատում է id և name-ը երկու User օբյեկտների:

Այսպիսով, equals-ը հաշվի է առնում data class-ում հայտարարված բոլոր հատկությունները, անկախ դրանց մուտքի մոդիֆիկատորներից։