我在Kotlin 有一个字符串列表

private val list = ArrayList<String>()

我想用分隔符","把它转换成String.我知道我们可以通过循环编程实现,但在其他语言中,我们可以使用映射函数,比如java中的映射函数

StringUtils.join(list);

And in Swift we have

array.joined(separator:",");

有什么方法可以将ArrayList转换成String

And what about for adding custom separator like "-" etc?

推荐答案

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() }
    )
)

which outputs

[一:二:三:…]

Kotlin相关问答推荐

在KMP中使用koin将来自Android的上下文注入到SQLDelight Driver中

在Kotlin中处理结果的高阶函数

Spring Boot kotlin协程不能并行运行

在 Kotlin 中,为什么我们要在闭包中捕获值

创建包含 3 个相同项目的列表/使用返回类型重复

init中的NPE抽象函数变量

Kotlin 列表扩展功能

PRDownloader 即使在实现库后也无法工作.未知参考:Android Studio 中的 PRDownloader

如何在 Hibernate Panache 中进行部分搜索

AIDL 中的 Parcelize 注释:Incompatible types: Object cannot be converted to MyCustomObject

从列表中的每个对象中 Select 属性

什么是 .kotlin_builtins 文件,我可以从我的 uberjars 中省略它们吗?

如何使 TextInputEditText 只读?

如何在 Kotlin 中为变量设置监听器

Mockito 的 argThat 在 Kotlin 中返回 null

Kotlin 中的内联构造函数是什么?

Kotlin中的下划线名称是为什么保留的?

大小写敏感性 Kotlin / ignoreCase

在Kotlin中为Android编写库会有开销吗?

Android room DAO 接口不适用于继承