提问人:kk2004 提问时间:9/1/2023 最后编辑:kk2004 更新时间:9/1/2023 访问量:58
省略 Kotlin 数据类中设置为 null 的可选参数
Omit optional parameters set as null in Kotlin data class
问:
最佳实践:在数据类中为其分配 null 时省略可选参数?
示例:如果 c = null,则数据类 xyz(val a:String ?,val b: String?)。data class xyz(val a:String ?,val b: String?, val c: String?= null)
调用 xyz.toString(),它将 null 视为“null”。所以输出是 xyz(“String for a”, String for b“, ”null“)。
但是实际输出 xyz(“String for a”, String for b“)。
我可以使用辅助构造函数或invoke()吗?哪个更好?
答:
0赞
ryankuck
9/1/2023
#1
如果有时需要值 c,但在这种情况下不需要,则两个选项是:
val newXyzObject = xyz(a = "String for a", b = "String for b", c = null)
或
val newXyzObject = xyz(a = "String for a", b = "String for b")
但是,由于 C 具有默认值,因此最好使用第二个选项,因为它更具可读性。
评论
toString()
c
b
toString()