gpt4 book ai didi

android - 在构造函数 Kotlin 中使用泛型作为参数

转载 作者:搜寻专家 更新时间:2023-11-01 07:41:44 24 4
gpt4 key购买 nike

我正在使用两个具有不同输入类型的构造函数,一个是字符串,另一个是泛型​​。问题是在使用 Kotlin 时它只使用字符串构造函数而忽略了泛型

class DataResponse<T> {
var isSuccess: Boolean = false
private set
var errorMessage: String? = null
var data: T? = null

constructor(success: Boolean, data: T) {
this.isSuccess = success
this.data = data
}

constructor(success: Boolean, errorMessage: String) {
this.isSuccess = success
this.errorMessage = errorMessage
}
}

用法

    if (apiResponse.code() == 200) {
Observable.just(DataResponse<List<ResultDTO>>(true,
apiResponse.body()?.resultList)) ---> **(error on this line forcing to convert it to string)**
} else {
Observable.just(DataResponse(false, "Something went wrong"))
}

最佳答案

您可以在 kotlin 中提供命名参数。也就是说,如果存在两个以上的同名构造函数或函数,我们可以显式地将参数指定为命名的一个。在这里,我建议明确提及参数 data

    if (apiResponse.code() == 200) {
Observable.just(DataResponse<List<ResultDTO>>(true,data=
apiResponse.body()?.resultList))
} else {
Observable.just(DataResponse(false, "Something went wrong"))
}

关于android - 在构造函数 Kotlin 中使用泛型作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56820194/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com