在Kotlin中将ArrayList转换为字符串的最佳方法

Asa*_*hry 2 string android arraylist kotlin

我在kotlin中有String的ArrayList

private val list = ArrayList<String>()
Run Code Online (Sandbox Code Playgroud)

我想String用分隔符“,” 将其转换成。我知道我们可以通过循环以编程方式完成此操作,但是在其他语言中,我们可以使用映射功能,就像在Java中一样

StringUtils.join(list);
Run Code Online (Sandbox Code Playgroud)

在Swift中,

array.joined(separator:",");
Run Code Online (Sandbox Code Playgroud)

在Kotlin中,有没有可用的使用分隔符转换ArrayList为的方法String

以及添加“-”等自定义分隔符的方式呢?

Ele*_*eak 11

Kotlin joinToString为此有方法

list.joinToString()
Run Code Online (Sandbox Code Playgroud)

编辑

您可以这样更改分隔符

list.joinToString(separator = ":")
Run Code Online (Sandbox Code Playgroud)

编辑2

如果您想对其进行更多自定义,这些都是可以在此功能中使用的参数

val list = listOf("one", "two", "three", "four", "five")
println(
    list.joinToString(
        prefix = "[",
        separator = ":",
        postfix = "]",
        limit = 3,
        truncated = "...",
        transform = { it.toUpperCase() })
)
Run Code Online (Sandbox Code Playgroud)

哪个输出

[一二三:...]


Fil*_*tic 6

Kotlin 也有这方面的方法,它被称为joinToString.

你可以简单地这样称呼它:

list.joinToString());

因为默认情况下它使用逗号作为分隔符,但您也可以将自己的分隔符作为参数传递,该方法除了分隔符之外还需要相当多的参数,这允许进行很多格式化,例如前缀、后缀等。

你可以在这里阅读所有相关信息