怀书至暖 2023-07-15 09:27 采纳率: 57.1%
浏览 11

kotlin 避免重复结构的数据类

比如,接口里常见的格式经常会是下面这样的,有没有什么方法能以复用的方式创建数据类呢?

{
code:xxx,
msg:xxx,
data:[
xxxx
]
}

  • 写回答

1条回答 默认 最新

  • IT论之程序员 2023-07-15 12:18
    关注

    对于这种常见的响应格式,可以在Kotlin中使用以下方法创建通用的数据类:

    1. 创建一个baseResponse基类:
      kotlin
      open class BaseResponse(
      val code: Int,
      val msg: String
      )
    2. 然后数据类继承这个基类:
      kotlin
      data class ApiResponse(
      override val code: Int,
      override val msg: String,
      val data: List
      ): BaseResponse(code, msg)
    3. 对data generics 泛型化:
      kotlin
      data class ApiResponse(
      override val code: Int,
      override val msg: String,
      val data: List
      ): BaseResponse(code, msg)
    4. 创建对象时指定泛型类型:
      kotlin
      val response = ApiResponse(200, "success", userList)
      这样就可以避免每次创建新的数据类,重复代码的问题,用泛型和基类可以很方便地复用响应结构。
    评论

报告相同问题?

问题事件

  • 创建了问题 7月15日

悬赏问题

  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答