当前位置: 首页 > 知识库问答 >
问题:

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

甄佐
2023-03-14

我正在为一些JSON建模,并使用以下几行代码

data class Metadata(
        val id: String,
        val creators: Array<CreatorsModel>
)

随着:

data class CreatorsModel (
        val role: String,
        val name: String
)

但是,请继续查看错误:数据类错误中的数组属性

你知道为什么吗?

仅供参考,JSON看起来像:

{
"id": "123",
"creators": [{
   "role": "Author",
    "name": "Marie"
    }
  ]
}

共有1个答案

蔺敏达
2023-03-14

在静态编程语言中,您应该尽可能使用List而不是ArrayArray具有一些JVM含义,尽管编译器会允许您这样做,但IDE可能会提示您重写equalshashcode手动。使用List会让事情简单很多。

您可以在这里找到更多关于差异的信息:Kotlin中列表和数组类型之间的差异

 类似资料:
  • 假设我只希望在生成的equals和hashCode实现中包含一个或两个字段(或者排除一个或多个字段)。对于简单类,例如: Groovy有以下特点: 龙目岛有: 静态编程语言中这样做的惯用方法是什么? 只是感觉不对。。。我真的不希望是可变的,而且额外的构造函数定义很难看。

  • 从Kotlin开始,想要创建一个数据类

  • 类电影,必须有一个数组属性。我必须编写一个构造函数、一个getter和一个setter。在主要方法中——创建一个对象(例如,为电影Thermatian)。然后,在类Movie中,创建一个方法来打印数组中的第一个元素。 //但当我尝试这个或任何{}或我能想到的任何其他变体时,它说这是不可能的。如何在main方法中填充数组?

  • 数据类似乎是Java中老式POJO的替代品。这些类将允许继承是可以预期的,但我看不到扩展数据类的方便方法。我需要的是这样的东西:

  • 这一数组属性返回一个包含数组维度的元组,它也可以用于调整数组大小。 输出如下: (2, 3) 示例 2 # 这会调整数组大小 import numpy as np a = np.array([[1,2,3],[4,5,6]]) a.shape = (3,2) 输出如下: [[1, 2] [3, 4] [5, 6]] NumPy 也提供了reshape函数来调整数组大小。 import n

  • 以下作品 而这不是(未解决的引用:tabCount) 我是Kotlin的新手,只是不明白为什么不能在类本身中使用val属性。有人能解释一下吗?谢谢