我试图通过使用私有构造函数来分配类字段来减少代码重复,但这似乎不可能。
我想做的是这里的例子:
class Foo {
private val bar: Int
private val baz: Int
constructor(bar: Int, baz: Int) : this(baz) {
this.bar = bar
}
constructor(bar: String, baz: Int) : this(baz) {
this.bar = bar.toInt()
}
private constructor(baz: Int) {
this.baz = baz
}
}
Run Code Online (Sandbox Code Playgroud)
另一种可行的方法是执行以下操作,但我对此不满意:
class Foo {
private val bar: Int
private val baz: Int
constructor(bar: Int, baz: Int) {
this.bar = bar
this.baz = baz
}
constructor(bar: String, baz: Int) {
this.bar = bar.toInt()
this.baz = baz
} …Run Code Online (Sandbox Code Playgroud)