可以将数据类与init {}和Gson一起使用

问题描述 投票:0回答:1

我有一个数据类

data class CardHistoryModel(
    val serviceType: String? = null,
    var title: String? = null
) {
    init {
        title = when (serviceType) {
            "CARD_TO_CARD" -> "CARD"
            "CARD_TO_ACCOUNT" -> "ACCOUNT"
            else -> "NON"
        }
    }
}

我从服务器获得响应,并通过Gson和Retrofit将其转换为CardHistoryModel.kt

我需要用'serverType'填充'title'变量

使用上述代码时,serviceType为空

我可以使用Gson从JSON解析数据后使用init函数吗?

android kotlin gson init data-class
1个回答
1
投票
[我用Gson进行了一些测试,似乎正在调用init,但尚未设置serviceType,所以when落在else -> "NON"
© www.soinside.com 2019 - 2024. All rights reserved.