Kotlin 内置函数-joinToString

可读格式检索集合内容,将集合转换为字符串的函数

joinToString() 根据提供的参数从集合元素构建单个 StringjoinTo() 执行相同的操作,但将结果附加到给定的 Appendable 对象。

  • 案例1: 当使用默认参数调用时,函数返回的结果类似于在集合上调用 toString():各元素的字符串表示形式以空格分隔而成的 String

val numbers = listOf("one", "two", "three", "four")

println(numbers)         
println(numbers.joinToString())

val listString = StringBuffer("The list of numbers: ")
numbers.joinTo(listString)
println(listString)

result------>
[one, two, three, four]
one, two, three, four
The list of numbers: one, two, three, four

  • 案例2: 要构建自定义字符串表示形式,可以在函数参数 separator、prefix 与 postfix中指定其参数。 结果字符串将以 prefix 开头,以 postfix 结尾。除最后一个元素外,separator 将位于每个元素之后。

val numbers = listOf("one", "two", "three", "four")    
println(numbers.joinToString(separator = " | ", prefix = "start: ", postfix = ": end"))

result ------>
start: one | two | three | four: end

  • 案例3: 对于较大的集合,可能需要指定 limit ——将包含在结果中元素的数量。 如果集合大小超出 limit,所有其他元素将被 truncated 参数的单个值替换。

val numbers = (1..100).toList()
println(numbers.joinToString(limit = 10, truncated = "<...>"))

result ------>
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, <...>

  • 案例4: 要自定义元素本身的表示形式,请提供 transform 函数。

val numbers = listOf("one", "two", "three", "four")
println(numbers.joinToString { "Element: ${it.toUpperCase()}"})

result ------>
Element: ONE, Element: TWO, Element: THREE, Element: FOUR

你可能感兴趣的:(Kotlin 内置函数-joinToString)