Kotlin 內(nèi)置函數(shù)-joinToString

可讀格式檢索集合內(nèi)容,將集合轉(zhuǎn)換為字符串的函數(shù)

joinToString() 根據(jù)提供的參數(shù)從集合元素構(gòu)建單個 String。 joinTo() 執(zhí)行相同的操作,但將結(jié)果附加到給定的 Appendable 對象。

  • 案例1: 當(dāng)使用默認(rèn)參數(shù)調(diào)用時,函數(shù)返回的結(jié)果類似于在集合上調(diào)用 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: 要構(gòu)建自定義字符串表示形式,可以在函數(shù)參數(shù) separator、prefix 與 postfix中指定其參數(shù)。 結(jié)果字符串將以 prefix 開頭,以 postfix 結(jié)尾。除最后一個元素外,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 ——將包含在結(jié)果中元素的數(shù)量。 如果集合大小超出 limit,所有其他元素將被 truncated 參數(shù)的單個值替換。

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

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

  • 案例4: 要自定義元素本身的表示形式,請?zhí)峁?transform 函數(shù)。

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

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容