Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
包含Kotlin中toString()中数据类主体中声明的属性_Kotlin_Tostring - Fatal编程技术网

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

包含Kotlin中toString()中数据类主体中声明的属性,kotlin,tostring,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)不在生成的toString中,该字符串将仅在主构造函数中声明属性(如中所述)。但是,如果您想: data class A(val b:Int = 0) { val c: Int = 0 override fun to

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

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


所需:
A(b=0,c=0)
不在生成的
toString
中,该字符串将仅在主构造函数中声明属性(如中所述)。但是,如果您想:

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

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

你为什么要这样做呢?嗯,那真是太遗憾了,因为计算出来的属性(比如从出生日期算起的年龄等)被省略了。我只是不明白,只要它们被宣布为公共财产,为什么它们不被打印出来呢。