Kotlin 陣列 - joinTo() 函式



Kotlin 陣列的 joinTo() 函式用於將陣列(或任何集合)轉換為字串,並指定分隔符、字首、字尾和轉換函式。

此函式允許廣泛修改元素如何連線到單個字串。

如果集合可能很大,您可以為 limit 引數指定一個非負值。在這種情況下,只會追加前 limit 個元素,然後追加截斷字串(預設為“...”)。

語法

以下是 Kotlin 陣列 joinTo() 函式的語法:

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

引數

此函式接受以下引數,但並非所有引數都是必需的。

  • buffer:它表示需要追加結果的 Appendable。

  • separator:它表示元素之間的分隔符。預設值為 ", "。

  • prefix:它表示將在第一個元素之前新增的字串。預設值為空字串 ""。

  • postfix:它表示將在最後一個元素之後新增的字串。預設值為空字串 ""。

  • limit:它表示要追加的最大元素數。如果還有更多元素可用,則會在 limit 後追加截斷字串。預設值為 -1,表示沒有限制。

  • truncated:當達到 limit 時要追加的字串。預設為 "..."。

  • transform:將應用於每個元素以在將其追加到緩衝區之前對其進行轉換的函式。

返回值

此函式返回一個字串,其中包含此序列中的字元,順序與陣列或集合序列相同。

示例 1

以下示例演示了 joinTo() 函式的基本用法:

fun main(args: Array<String>) {
   val sb = StringBuilder("An existing string and an array: ")
   val numbers = arrayOf(1, 2, 3, 4, 5)
   println(numbers.joinTo(sb, prefix = "[", postfix = "]").toString())
}

輸出

以下是輸出:

An existing string and an array: [1, 2, 3, 4, 5]

示例 2

以下另一個示例,我們使用 joinTo 函式建立包含字串和 1 到 100 的數字的字串:

fun main(args: Array<String>) {
   val lotOfNumbers: Iterable<Int> = 1..100
   val sb = StringBuilder("First five numbers: ")
   println(lotOfNumbers.joinTo(sb,  limit = 7 ).toString())
}

輸出

執行上述程式碼後,我們將得到以下輸出:

First five numbers: 1, 2, 3, 4, 5, 6, 7, ...

示例 3

下面的示例構建一個字串,建立一個可迭代的數字並將其追加到字串中。然後我們使用 joinTo() 函式:

fun main(args: Array<String>) {
   val sb = java.lang.StringBuilder("This is tutorialspoint: ")
   val stringArray = arrayOf<String>("First", "Second", "Third")
   
   //first scenario
   println(stringArray.joinTo(sb, separator = "::" ))

   val lotOfNumbers: Iterable<Int> = 1..100
   val firstNumbers = StringBuilder("First 8 numbers: ")
   
   //second scenario
   println(lotOfNumbers.joinTo(firstNumbers,  limit = 8 ).toString())
}

輸出

執行上述程式碼後,我們將得到以下輸出:

This is tutorialspoint: First::Second::Third
First 8 numbers: 1, 2, 3, 4, 5, 6, 7, 8, ...
kotlin_arrays.htm
廣告

© . All rights reserved.