kotlin - 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"}
但我找不到一个例子。我错过了什么吗?我应该创建一个辅助构造函数来使用这种语法还是有其他方法?
解决方案
请检查申请方法。
您的代码将如下所示:
val person = Person().apply {name = "someName", id = "someId"}
另一种方式- 您可以将 Person 的声明更改为(例如,只需更改括号、替换var
为val
和删除lateinit
):
class Person (@JsonProperty("name") val name: String? = null,
@JsonProperty("id") val id: String )
然后你将能够做到这一点:
val person = Person(name = "someName", id = "someId")
推荐阅读
- python - 如何检查 DataFrame 列值是否存在于多个列表中,如果不存在,则填充另一列?
- git - Gitignore 配置 - 如何让 git 感知
- python - collections.Counter,有没有办法避免添加字符串值?
- csv - 将 csv 文件行提取为单独的 .txt 文件
- javascript - 书签不适用于 ios 或 android 浏览器
- mysql - 下面的 SQL 查询可以返回多少行?
- python - 未安装数据科学库 kernelspec
- python - 在 Python / Pandas 中为每次具有多条记录的时间序列数据添加新的“步骤”值列
- php - 如果大于 X 则删除数字 - PHP
- c++ - phytec phyBOARD iMX-6 在从闪存而不是 sd 卡运行 qt5 opengles 应用程序时表现不佳(fps 减半)