在 Kotlin 的 toString() 中包含在数据体 class 中声明的 属性
Include property declared in body of data class in toString() in Kotlin
在 Kotlin 中,是否可以将在数据 class 的主体中声明的 属性 包含在默认 toString()
结果中?
data class A(val b:Int = 0) {
val c: Int = 0
}
println(A())
打印:A(b=0)
期望:A(b=0, c=0)
不在生成的 toString
中,它只会具有在主构造函数中声明的属性(如 docs 中所述)。但是,如果您愿意,您始终可以自己覆盖 toString
:
data class A(val b:Int = 0) {
val c: Int = 0
override fun toString(): String {
return "A(b=$b, c=$c)"
}
}
在 Kotlin 中,是否可以将在数据 class 的主体中声明的 属性 包含在默认 toString()
结果中?
data class A(val b:Int = 0) {
val c: Int = 0
}
println(A())
打印:A(b=0)
期望:A(b=0, c=0)
不在生成的 toString
中,它只会具有在主构造函数中声明的属性(如 docs 中所述)。但是,如果您愿意,您始终可以自己覆盖 toString
:
data class A(val b:Int = 0) {
val c: Int = 0
override fun toString(): String {
return "A(b=$b, c=$c)"
}
}