小编hum*_*lue的帖子

在 Kotlin 中是否可以使用私有辅助构造函数来分配 val?

我试图通过使用私有构造函数来分配类字段来减少代码重复,但这似乎不可能。

我想做的是这里的例子:

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)

constructor field kotlin

2
推荐指数
1
解决办法
221
查看次数

标签 统计

constructor ×1

field ×1

kotlin ×1