我可以在 kotlin 数据 class 中创建泛型类型吗?
Can I create a generic type in a kotlin data class?
我有一个后端总是 return 带有一些数据的 "success",因为在 json 字段中字段将被命名为 success 并在其中包含数据。或者它将 return 一个 json 格式的错误对象。
所以我想要某种 BaseResponse,所以当我使用它时,我可以做类似 BaseResponse 的事情,这样成功将被映射为一个 Person 对象。
所以我想这样做:
@Parcelize
data class BaseResponse<T>(
val success: T? = null
) : Parcelable
但是它说 Parcelize 不直接支持 Type。有什么办法可以做到这一点吗?或者我需要写一些自定义的东西吗?使用 Retrofit 和 Gson 作为序列化器调用调用等。
您可以通过要求 T
成为 Parcelable
的实现来做到这一点,如下所示:
@Parcelize
data class BaseResponse<T: Parcelable>(val success: T? = null) : Parcelable
我有一个后端总是 return 带有一些数据的 "success",因为在 json 字段中字段将被命名为 success 并在其中包含数据。或者它将 return 一个 json 格式的错误对象。 所以我想要某种 BaseResponse,所以当我使用它时,我可以做类似 BaseResponse 的事情,这样成功将被映射为一个 Person 对象。
所以我想这样做:
@Parcelize
data class BaseResponse<T>(
val success: T? = null
) : Parcelable
但是它说 Parcelize 不直接支持 Type。有什么办法可以做到这一点吗?或者我需要写一些自定义的东西吗?使用 Retrofit 和 Gson 作为序列化器调用调用等。
您可以通过要求 T
成为 Parcelable
的实现来做到这一点,如下所示:
@Parcelize
data class BaseResponse<T: Parcelable>(val success: T? = null) : Parcelable