可读格式检索集合内容,将集合转换为字符串的函数
joinToString()
根据提供的参数从集合元素构建单个 String
。 joinTo()
执行相同的操作,但将结果附加到给定的 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
网友评论