Junior — Middle
Kompilyator data class uchun qanday avtomatik metodlar yaratadi va ular nima uchun mo'ljallangan?
sobes.tech AI
AIdan javob
Kotlin'da, data class uchun kompilyator avtomatik ravishda foydali bir nechta metodlarni yaratadi, ular ob'ektlar bilan ishlashni osonlashtiradi:
equals()— barcha xususiyatlarning qiymatiga ko'ra ob'ektlarni taqqoslash uchun.hashCode()—equals()bilan mos keladigan hash-kodni olish uchun.toString()— ob'ektning barcha xususiyatlarini ro'yxatga olgan satr ko'rinishini qaytaradi.copy()— ob'ektning nusxasini yaratadi va ba'zi xususiyatlarni o'zgartirish imkonini beradi.componentN()funksiyalari — ob'ektni ajratib, alohida o'zgaruvchilarga ajratish uchun.
Misol:
data class User(val name: String, val age: Int)
val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31)
println(user1) // User(name=Alice, age=30)
println(user1 == user2) // false
val (name, age) = user2
println(name) // Alice
println(age) // 31
Ushbu metodlar o'zgarmas ob'ektlar bilan ishlashni soddalashtiradi va kodni yanada ifodali qiladi.