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
廣告
© . All rights reserved.