Kotlin - 数据类错误中的数组属性

use*_*od2 6 json kotlin

我正在建模一些 JSON - 并使用以下几行

data class Metadata(
        val id: String,
        val creators: Array<CreatorsModel>
)
Run Code Online (Sandbox Code Playgroud)

随着:

data class CreatorsModel (
        val role: String,
        val name: String
)
Run Code Online (Sandbox Code Playgroud)

但是一直看到错误:Array property in data class error

任何想法这是为什么?

仅供参考,JSON 如下所示:

{
"id": "123",
"creators": [{
   "role": "Author",
    "name": "Marie"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

Can*_*awe 17

在 Kotlin 中,您应该瞄准使用List而不是Array尽可能地使用。Array有一些 JVM 影响,虽然编译器会让你,IDE 可能会提示你覆盖equalshashcode手动。使用List将使事情变得更简单。

您可以在此处找到有关差异的更多信息:Kotlin 中 List 和 Array 类型之间的差异

  • 那么“ByteArray”呢?我计划使用带有图像字段的实体将其保存到房间 (8认同)