在Kotlin中的toString()中包含在数据类主体中声明的属性

时间:2017-07-11 18:27:50

标签: kotlin tostring

在Kotlin中,是否可以将在数据类主体中声明的属性包含在默认的toString()结果中?

data class A(val b:Int = 0) {
    val c: Int = 0
}
println(A())

打印:A(b=0)
期望:A(b=0, c=0)

1 个答案:

答案 0 :(得分:5)

不在生成的toString中,只会在主构造函数中声明属性(如docs中所述)。但是,如果您愿意,可以自己覆盖toString

data class A(val b:Int = 0) {
    val c: Int = 0

    override fun toString(): String {
        return "A(b=$b, c=$c)"
    }
}