Лучший способ конвертировать ArrayList в строку в Kotlin - PullRequest
0 голосов
/ 09 июня 2019

У меня есть ArrayList из String в котлине

private val list = ArrayList<String>()

Я хочу преобразовать его в String с разделителем ",". Я знаю, что мы можем сделать это программно через цикл, но в других языках у нас есть функции отображения, как в Java, у нас есть

StringUtils.join(list);

А у Свифта у нас

array.joined(separator:",");

Есть ли способ конвертировать ArrayList в String с разделитель в Котлине?

А как насчет добавления пользовательского разделителя, такого как "-" и т. Д.?

Ответы [ 2 ]

7 голосов
/ 09 июня 2019

У Котлина есть joinToString метод только для этого

list.joinToString()

Редактировать

Вы можете изменить разделитель следующим образом

list.joinToString(separator = ":")

Редактировать 2

Если вы хотите настроить его больше, это все параметры, которые вы можете использовать в этой функции

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

который выводит

[ONE: ВТОРАЯ: ТРЕТИЙ: ...]

2 голосов
/ 09 июня 2019

У Kotlin также есть метод для этого, он называется joinToString.

Вы можете просто назвать его так:

list.joinToString());

Потому что по умолчанию этоиспользует запятую в качестве разделителя, но вы также можете передать свой собственный разделитель в качестве параметра, этот метод принимает несколько параметров помимо разделителя, которые позволяют выполнять большое количество форматирования, например префикс, постфикс и т. д.

Вы можетечитать все об этом здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...