不确定是什么原因导致的,但我正试图从API请求数据,其中包含一个Message
对象数组。如果我将结果打印到控制台,那么当我期望Message
为一组对象时,除了Messages=null
之外,数据是正确的。我不明白我漏掉了什么?
我得到了这个错误:java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter messages
有人可以指点一下我吗?下面是该类的代码:
const val PROFILE_RESPONSE_ID = 0
@Entity(tableName = "profile")
data class ProfileResponse(
val id: Int,
val name: String,
val code: String,
val title: String,
@SerializedName("profile_image")
val profileImage: String,
@SerializedName("background_image")
val backgroundImage: String,
@Embedded(prefix = "messages_")
val messages: ArrayList<Messages>,
) {
@PrimaryKey(autoGenerate = false)
var responseId: Int = PROFILE_RESPONSE_ID
}
示例 JSON:
{
"id": 44,
"name": "Jason",
"code": "jason",
"title": "Jason Scott",
"profile_image": "https://sampleurl.com/sample_profile.jpg",
"background_image": "",
"messages": [
{
"id": 0001,
"message": "Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.",
"timestamp": "Thu, 01 Jan 1970 01:00:00 +0100",
}
{
"id": 0002,
"message": "Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.",
"timestamp": "Thu, 01 Jan 1970 01:00:00 +0100",
}
{
"id": 0003,
"message": "Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.",
"timestamp": "Thu, 01 Jan 1970 01:00:00 +0100",
}
}
messages
是空的,但Kotlin编译器认为messages
不为空,而你正在尝试将其设置为空。 - Srikar Reddymessages_
JSON 对象,并且它已正确转换为messages
数组列表。 - Srikar Reddy