Careeroza
Building Strings Efficiently
StringBuilder and buildString
Because strings are immutable, adding to a string in a loop creates a new string every time. For many additions use StringBuilder or the Kotlin helper buildString { }.
Example
Both produce the same result; buildString is the idiomatic Kotlin way.
fun main() {
val sb = StringBuilder()
for (i in 1..5) {
sb.append(i).append(" ")
}
println(sb.toString().trim())
val receipt = buildString {
append("Items: ")
append("Dosa, Idli, Vada")
appendLine()
append("Total: ₹180")
}
println(receipt)
}Output
1 2 3 4 5 Items: Dosa, Idli, Vada Total: ₹180
joinToString
Example
To join a list into one string, use joinToString.
fun main() {
val toppings = listOf("Onion", "Capsicum", "Paneer")
println(toppings.joinToString())
println(toppings.joinToString(" | "))
println(toppings.joinToString(prefix = "[", postfix = "]", separator = ", "))
}Output
Onion, Capsicum, Paneer Onion | Capsicum | Paneer [Onion, Capsicum, Paneer]