【发布时间】:2019-08-20 13:30:16
【问题描述】:
我经常编写相当复杂的 toString() 方法,这个问题一直困扰着我——哪种变体更易读。下面的例子是简化的,通常有很多条件,所以单行不适合。
1) 就像在普通的 java 中一样:
val sb = StringBuilder()
sb.append(data)
val string = sb.toString()
2) apply + toString() - 不是很漂亮吗?
val string = StringBuilder().apply {
append(data)
}.toString()
3) run + toString() 最后的语句也不是很好
val string = StringBuilder().run {
append(data)
toString()
}
4) ??
【问题讨论】:
-
你在问....哪个更清楚阅读? ...这个问题如何回答?
-
kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/…。只是
val s = buildString { append(data) } -
感谢@dyukha - 这就是我想要的!