Kotlin中ArrayList转带分隔符String的最优方法
Kotlin 中列表转分隔符字符串的便捷方法
当然有!Kotlin 标准库提供了非常好用的joinToString()扩展函数,完全能满足你的需求,不用自己写循环~
基础用法(逗号分隔)
对于你定义的private val list = ArrayList<String>(),直接调用joinToString()就能得到逗号分隔的字符串:
val commaSeparated = list.joinToString()
比如如果list是["Apple", "Banana", "Cherry"],结果就是"Apple,Banana,Cherry"。
自定义分隔符
如果想用其他分隔符(比如你说的-),只需要给separator参数传对应的字符串就行:
val dashSeparated = list.joinToString(separator = "-")
上面的例子会得到"Apple-Banana-Cherry"。
进阶玩法:更多参数
joinToString()还有很多实用参数,可以灵活定制输出:
- 前缀/后缀:给整个字符串加前后包裹,比如用方括号括起来:
val wrapped = list.joinToString(prefix = "[", postfix = "]", separator = ";") // 结果:"[Apple;Banana;Cherry]" - 限制长度:如果列表很长,只想显示前N个元素,剩下的用截断符代替:
val limited = list.joinToString(limit = 2, truncated = "...") // 结果:"Apple,Banana,..." - 元素转换:在拼接前对每个元素做处理,比如转成大写:
val upperCase = list.joinToString { it.uppercase() } // 结果:"APPLE,BANANA,CHERRY"
另外,如果列表是空的,joinToString()会直接返回空字符串,不用额外做判空处理,非常省心。
内容的提问来源于stack exchange,提问作者Asad Ali Choudhry
相关产品推荐
相关产品推荐

