मैंने एंड्रॉइड स्टूडियो के लिए एंड्रॉइड प्लगइन की ऑटो जेनरेटेड फीचर का उपयोग किया है और यह मुझे निम्नलिखित कोड जेनरेट करता है, लेकिन मुझे समझ में नहीं आता है कि CREATOR
फ़ील्ड के लिए final val
क्यों है? मैं kotlin में पहली बार final
कीवर्ड दिखाई देता।कोटलिन एंड्रॉइड पार्ससेलबल
data class Person(
val name: String,
val surname: String
) : Parcelable {
constructor(source: Parcel): this(source.readString(), source.readString())
override fun describeContents(): Int {
return 0
}
override fun writeToParcel(dest: Parcel?, flags: Int) {
dest?.writeString(name)
dest?.writeString(surname)
}
companion object {
@JvmField final val CREATOR: Parcelable.Creator<Person> = object : Parcelable.Creator<Person> {
override fun createFromParcel(source: Parcel): Person {
return Person(source)
}
override fun newArray(size: Int): Array<Person?> {
return arrayOfNulls(size)
}
}
}
}