从数据类连接 Kotlin 中的字符串数组

Mar*_*phi 1 android kotlin

我有一个Class

data class Data(val string: String, val state: Boolean)
Run Code Online (Sandbox Code Playgroud)

那个类是一个数组

val data = ArrayList<Data>()
data.add(Data("String 1", false)
data.add(Data("String 2", true)
data.add(Data("String 3", true)
data.add(Data("String 4", false)
Run Code Online (Sandbox Code Playgroud)

我只需要连接true像这样的字符串

val result = "String 2;String 3"
Run Code Online (Sandbox Code Playgroud)

我看了一下joinToString()方法,但不知道在这种情况下如何处理。还有一件事是,我需要稍后将这些连接的字符串作为 Array 返回。

如何最佳实现?

Mar*_*een 6

像这样简单的事情:

        val result = data.asSequence()
           .filter(Data::state)
           .map(Data::string)
           .joinToString(separator = ";")
Run Code Online (Sandbox Code Playgroud)

结果 :

String 2;String 3

然后 :

result.split(";")