I recently migrate my Java Models class to Kotlin Data class. I'm using @Parcelize annotation to avoid boilerplate code for Parcelable. My data class in Kotlin is shown below,
@Parcelize
data class TimeLine(
@SerializedName("submittedOnDate")
var submittedOnDate: List<Int> = ArrayList(),
@SerializedName("submittedByUsername")
var submittedByUsername: String,
@SerializedName("submittedByFirstname")
var submittedByFirstname: String,
@SerializedName("submittedByLastname")
var submittedByLastname: String,
@SerializedName("approvedOnDate")
var approvedOnDate: List<Int> = ArrayList(),
@SerializedName("approvedByUsername")
var approvedByUsername: String,
@SerializedName("approvedByFirstname")
var approvedByFirstname: String,
@SerializedName("approvedByLastname")
var approvedByLastname: String,
@SerializedName("activatedOnDate")
var activatedOnDate: List<Int>,
@SerializedName("activatedByUsername")
var activatedByUsername: String,
@SerializedName("activatedByFirstname")
var activatedByFirstname: String,
@SerializedName("activatedByLastname")
var activatedByLastname: String,
@SerializedName("closedOnDate")
var closedOnDate: List<Int>) : Parcelable`
But it gives me the Null Pointer Error as shown below,
java.lang.NullPointerException: Attempt to invoke interface method 'int
java.util.Collection.size()' on a null object reference at
org.demo.mobile.models.accounts.savings.TimeLine.writeToParcel(TimeLine.kt:0)
at org.demo.mobile.models.accounts.savings.SavingAccount.writeToParcel(SavingAccount.kt:0)
I don't know why it shows NullPointerException as Java Model was working fine. How do I fix it and what is the reason behind of NPE ?