使用@Parcelize 尝试在 writeToParcel(Client.kt:0) 处的空对象引用上调用接口方法“int java.util.Collection.size()”

miP*_*der 8 android parcelable kotlin kotlin-extension kotlin-android-extensions

我的 Parcelable Model 类的代码如下,

@Parcelize
data class Client(
    @SerializedName("id")
    var id: Int = 0,

    @SerializedName("accountNo")
    var accountNo: String? = null,

    @SerializedName("status")
    private val status: Status,

    @SerializedName("active")
    private val active: Boolean?,

    @SerializedName("activationDate")
    var activationDate: List<Int> = ArrayList(),

    @SerializedName("dateOfBirth")
    var dobDate: List<Int> = ArrayList(),

    @SerializedName("clientClassification")
    var clientClassification: @RawValue ClientClassification? = null,

    @SerializedName("clientType")
    var clientType: @RawValue ClientType? = null,

    @SerializedName("gender")
    var gender: @RawValue Gender? = null,

    @SerializedName("groups")
    var groups: @RawValue List<Group> = ArrayList()

) : Parcelable
Run Code Online (Sandbox Code Playgroud)

在将此类转换为 Kotlin 之前,Java 代码运行良好。为什么要给空指针,因为我正在初始化数据类的构造函数中的所有 List ?