Ich habe automatisch generierte Funktion von Android-Plugin für Android Studio verwendet und es generierte mir den folgenden Code, aber ich kann nicht verstehen, warum gibt es final val
für CREATOR
Feld? Ich sehe final
Stichwort zum ersten Mal in Kotlin.Kotlin android parcelable
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)
}
}
}
}