在 Kotlin 中将 ArrayList 转换为字符串的最佳方法
Posted
技术标签:
【中文标题】在 Kotlin 中将 ArrayList 转换为字符串的最佳方法【英文标题】:Best Way to Convert ArrayList to String in Kotlin 【发布时间】:2019-10-24 04:36:25 【问题描述】:我在 kotlin 中有一个字符串的 ArrayList
private val list = ArrayList<String>()
我想将其转换为String
,并带有分隔符“,”。我知道我们可以通过循环以编程方式做到这一点,但在其他语言中,我们有可用的映射函数,就像我们在 java 中一样
StringUtils.join(list);
在 Swift 中我们有
array.joined(separator:",");
是否有任何方法可以将ArrayList
转换为String
Kotlin 中的分隔符?
如何添加自定义分隔符,如“-”等?
【问题讨论】:
【参考方案1】:在 kotlin 中有 reduce
函数,它与 javascript 中的相同。此函数迭代所有列表值并添加到先前的值。
val listVal: List<String> = listOf("a","b","c","d")
val stringVal = listVal.reduce acc, s ->
"$acc : $s.uppercase()"
【讨论】:
【参考方案2】:Kotlin 有 joinToString
方法就是为了这个
list.joinToString()
您可以像这样更改分隔符
list.joinToString(separator = ":")
如果你想更多地自定义它,这些都是你可以在这个函数中使用的参数
val list = listOf("one", "two", "three", "four", "five")
println(
list.joinToString(
prefix = "[",
separator = ":",
postfix = "]",
limit = 3,
truncated = "...",
transform = it.uppercase()
)
)
哪个输出
[一:二:三:...]
【讨论】:
添加自己的分隔符怎么样? 嗨,谁能帮帮我。当我的 arraylist 大小为 1 时, joinToString 产生 ","?【参考方案3】:Kotlin 也有相应的方法,称为 joinToString
。
你可以这样称呼它:
list.joinToString());
因为默认情况下它使用逗号作为分隔符,但您也可以将自己的分隔符作为参数传递,该方法除了分隔符之外还需要相当多的参数,这允许进行很多格式化,如前缀、后缀等。
您可以阅读所有相关信息here
【讨论】:
添加自己的分隔符怎么样? 你可以肯定 joinToString(separator: CharSequence = ", ", prefix: CharSequence = "", postfix: CharSequence = "", limit: Int = -1, truncated: CharSequence = ".. .", 变换: ((T) -> CharSequence)? = null)以上是关于在 Kotlin 中将 ArrayList 转换为字符串的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章
在 Kotlin 中将 ArrayList 转换为字符串的最佳方法
在 Kotlin 中将 Dp 转换为 Px - 此转换永远不会成功