如何为 kotlin 的数据 class 中的辅助构造函数建立 getter & setter?
How to establish getter & setter for secondary constructor in data class for kotlin?
我需要一个 数据 class 和 两个不同的构造函数 ,如图所示。但是我如何在 Kotlin 中为 data class 的辅助构造函数 做 getter & setter?我尝试了多项更改,无法弄清楚。在下面的代码片段中,我没有为 get() 和 set() 获得正确的 import
data class user(var phone: String) {
constructor(phone: String, name : String) : this(phone) {
var name: String = name
get()= field
set(value) {
field = value
}
}
}
您似乎需要两个构造函数,一个只需要一个 "phone" 参数,另一个需要一个 "phone" 和 "name" 参数。总体而言,无论使用哪个构造函数,您的数据 class 都将具有两个属性:phone 和 name。您可以通过以下方式完成此操作:
data class User(var phone: String) {
var name: String = ""
constructor(phone: String, name: String) : this(phone) {
this.name = name
}
}
但是,由于这是 Kotlin,您应该 prefer default parameter values over overloaded functions/secondary constructors:
data class User(var phone: String, var name: String = "")
我需要一个 数据 class 和 两个不同的构造函数 ,如图所示。但是我如何在 Kotlin 中为 data class 的辅助构造函数 做 getter & setter?我尝试了多项更改,无法弄清楚。在下面的代码片段中,我没有为 get() 和 set() 获得正确的 import
data class user(var phone: String) {
constructor(phone: String, name : String) : this(phone) {
var name: String = name
get()= field
set(value) {
field = value
}
}
}
您似乎需要两个构造函数,一个只需要一个 "phone" 参数,另一个需要一个 "phone" 和 "name" 参数。总体而言,无论使用哪个构造函数,您的数据 class 都将具有两个属性:phone 和 name。您可以通过以下方式完成此操作:
data class User(var phone: String) {
var name: String = ""
constructor(phone: String, name: String) : this(phone) {
this.name = name
}
}
但是,由于这是 Kotlin,您应该 prefer default parameter values over overloaded functions/secondary constructors:
data class User(var phone: String, var name: String = "")