我知道如何在普通Kotlin类上使用apply函数,但无法将其用于数据类:
data class Person(name: String)
val person = Person().apply {
name = "Tony Stark"
}
我得到一个编译消息:
没有为参数“name”传递值
应用函数的工作原理与任何类相似。但是您的代码片段中存在一些错误:
Person
构造函数中的参数未提到为var
或val
,因此该类中没有字段name
。最好使其var
能够更改值
问题是name
只是一个构造函数参数,而不是属性,这对于数据类概念来说是无效的。像这样修复:
data class Person(val name: String)
问题内容: 我有这样的Java POJO类: 我有一个像这样的Kotlin数据类 如何在java变量中提供给诸如注解之类的任何变量? 问题答案: 资料类别: 到JSON: 从JSON:
我正在尝试从相应的字符串值填充Kotlin数据类。我使用GSON查看了来自Json的:Kotlin数据类,但我试图做的并不是跟踪完全相同的: 调用此函数并尝试填充以下类: 但没有欢乐。stringValue是gson.toJson(value)生成的东西,其中value是一个JSONObject。 有人知道我的断线是什么吗?
数据类似乎是Java中老式POJO的替代品。这些类将允许继承是可以预期的,但我看不到扩展数据类的方便方法。我需要的是这样的东西:
我有Java POJO课是这样的: 我有一个像这样的Kotlin数据课 如何向的任何变量提供,如Java变量中的注释?
问题内容: kotlin 1.2.10杰克逊模块kotlin:2.9.0 我在kotlin中有以下数据类: 当我尝试反序列化此数据类时,我得到以下信息: 如您所见,最后两个选项未正确反序列化。通过将注释直接添加到getter @get:JsonProperty,可以解决此问题。但是,根据杰克逊文档,@ JsonProperty应该分配给getters / setters / fields 因此,我
试图调用返回简单json的restendpoint,但我总是失败。 结果是这样的: 我的代码是这样的: