首页 > 解决方案 > Kotlin 使用 params 语法创建对象

问题描述

我有一个对象

class Person {
@JsonProperty("name")
var name: String? = null

@JsonProperty("id")
lateinit var id: String}

只有一个空的构造函数,我想创建一个人,所以我写道:

 val person = Person()
 person.name = "someName"
 person.id = "SomeId"

我很确定有一个更漂亮的语法,比如

val person = Person {name = "someName" , id = "someId"}

但我找不到一个例子。我错过了什么吗?我应该创建一个辅助构造函数来使用这种语法还是有其他方法?

标签: kotlin

解决方案


请检查申请方法。

您的代码将如下所示:

val person = Person().apply {name = "someName", id = "someId"}

另一种方式- 您可以将 Person 的声明更改为(例如,只需更改括号、替换varval和删除lateinit):

class Person (@JsonProperty("name") val name: String? = null,
              @JsonProperty("id") val id: String )

然后你将能够做到这一点:

val person = Person(name = "someName", id = "someId")

推荐阅读