Kotlin 数组 - joinToString() 函数



Kotlin 数组的 joinToString() 函数可以根据指定的分割符、前缀、后缀和转换函数,将数组(或任何集合)转换为字符串。

此函数允许对如何将元素连接到单个字符串进行广泛的自定义。

如果集合可能很大,可以为 limit 参数指定一个非负值。在这种情况下,只有前 limit 个元素将被追加,后面跟着截断字符串(默认为“...”)。

语法

以下是 Kotlin 数组 joinToString() 函数的语法:

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

参数

此函数接受以下参数,但并非所有参数都是必需的。

  • buffer:表示需要将结果追加到的 Appendable。

  • separator:表示元素之间的分隔符。默认为 ", "。

  • prefix:表示将在第一个元素之前添加的字符串。默认为空字符串 ""。

  • postfix:表示将在最后一个元素之后添加的字符串。默认为空字符串 ""。

  • limit:表示要追加的最大元素数量。如果还有更多元素,则将在 limit 之后追加截断字符串。默认为 -1,表示没有限制。

  • truncated:当达到 limit 时要追加的字符串。默认为 "...".

  • transform:这是一个将应用于每个元素的函数,在将其追加到缓冲区之前对其进行转换。

返回值

此函数返回一个字符串,其中包含此序列中的字符,顺序与数组或集合序列相同。

示例 1

以下是一个基本的示例,演示 joinToString() 函数的用法:

fun main(args: Array<String>) {
   val numbers = arrayOf(1, 2, 3, 4, 5)
   println(numbers.joinToString())
}

输出

以下是输出:

1, 2, 3, 4, 5

示例 2

以下是一个其他的示例。在这里,我们使用 joinToString 函数以及参数:separator、prefix 和 postfix:

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

输出

执行上述代码后,我们将得到以下输出:

{ 1 < 2 < 3 < 4 < 5 < 6 }

示例 3

下面的示例构建一个字符串并将数字追加到字符串中。然后,我们使用 joinToString() 函数将数字转换为字符串:

fun main(args: Array<String>) {
   val sb = StringBuilder("tutorials point: ")
   sb.append("India\n")

   val lotOfNumbers: Iterable<Int> = 1..100
   sb.append("First 8 numbers: ")

   // Use joinToString and appends its result to the StringBuilder
   val numbersString = lotOfNumbers.joinToString(limit = 8, separator = ":")
   sb.append(numbersString)

   println(sb.toString())
}

输出

执行上述代码后,我们将得到以下输出:

tutorials point: India
First 8 numbers: 1:2:3:4:5:6:7:8:...
kotlin_arrays.htm
广告