joinToString所在位置是kotlin.sequences.joinToString,其相关用法介绍如下。

用法:

fun <T> Sequence<T>.joinToString(
    separator: CharSequence = ", ", 
    prefix: CharSequence = "", 
    postfix: CharSequence = "", 
    limit: Int = -1, 
    truncated: CharSequence = "...", 
    transform: ((T) -> CharSequence)? = null
): String

从使用separator 分隔的所有元素创建一个字符串,并使用给定的prefixpostfix(如果提供)。

如果集合可能很大,您可以指定一个非负值 limit ,在这种情况下,只会附加第一个 limit 元素,然后是 truncated 字符串(默认为 "...")。

操作是 terminal

例子:

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val numbers = listOf(1, 2, 3, 4, 5, 6)
println(numbers.joinToString()) // 1, 2, 3, 4, 5, 6
println(numbers.joinToString(prefix = "[", postfix = "]")) // [1, 2, 3, 4, 5, 6]
println(numbers.joinToString(prefix = "<", postfix = ">", separator = "•")) // <1•2•3•4•5•6>

val chars = charArrayOf('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q')
println(chars.joinToString(limit = 5, truncated = "...!") { it.uppercaseChar().toString() }) // A, B, C, D, E, ...!
//sampleEnd
}

输出:

1, 2, 3, 4, 5, 6
[1, 2, 3, 4, 5, 6]
<1•2•3•4•5•6>
A, B, C, D, E, ...!