generics - 我可以在kotlin数据类中创建泛型类型吗?

标签 generics kotlin parcelable data-class

我有一个后端,它将始终返回带有某些数据的“成功”,因为在json字段中,字段将被命名为成功并在其中包含数据。否则它将以json格式返回错误对象。
所以我想拥有某种BaseResponse,所以当我使用它时,我可以做一些类似BaseResponse的事情,这样成功就可以映射为Person对象。

所以我正在考虑这样做:

@Parcelize
data class BaseResponse<T>(
     val success: T? = null
) : Parcelable

但是它说Parcelize不直接支持Type。我有什么办法可以做到这一点?还是我需要写一些习惯?调用等使用Retrofit和Gson作为序列化器进行调用。

最佳答案

您可以通过要求TParcelable的实现来实现,如下所示:

@Parcelize
data class BaseResponse<T: Parcelable>(val success: T? = null) : Parcelable

关于generics - 我可以在kotlin数据类中创建泛型类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60485494/

相关文章:

android - Parcelable vs 从数据库读取的效率

android - 在 Activity 之间传递可打包对象

Java 反射 : Get concrete type of implemented generic interface

Java - 通用抽象类的通用列表

c# - 检查通用列表内容的最佳方法

kotlin - != null VS ?.let { } kotlin 中不可变变量的性能

android - 这是正确的转换方式吗

android - 如何在 Kotlin Room Entity 的构造函数中使用 Android 资源字符串

android - java.lang.IllegalArgumentException : Duplicate key in ArrayMap: null

c# - 使用 Type 对象创建泛型