gpt4 book ai didi

kotlin - 附加用逗号分隔的字符串的有效方法 [Kotlin]

转载 作者:IT老高 更新时间:2023-10-28 13:39:08 32 4
gpt4 key购买 nike

我想知道是否有一种用逗号作为分隔符分隔不同字符串的有效方法

Java8 中有 StringUtils.join(java.lang.Iterable,char)

对于 Kotlin,我只找到了 joinToString,它从数组/列表转换为字符串。据我了解, joinToString 转换整个列表/数组。如果我想将一些项目从数组转换为逗号分隔的字符串而不是全部怎么办?如何做到这一点? Kotlin 是否有一些简短而优雅的东西(显然,我可以为此创建自己的函数,但我只是想知道)。

list.forEachIndexed { index, item ->
if (item.isGreen) {
...
}
}

最佳答案

val greenString = list.filter(ItemClass::isGreen).joinToString()

这里,ItemClass 是定义 isGreen 函数或属性的项目类型。 ItemClass::isGreen 是对此方法/属性的引用。

您也可以使用 lambda 来获得相同的效果(请参阅其他答案)。


编辑:您可以在 joinToString 函数中使用 transform 参数指定对象应如何表示为字符串。
因为这是最后一个参数,它可以在常规括号之外给出:

list.filter(ItemClass::isGreen).joinToString() { it.content.text }

您现在甚至可以将括号全部去掉,但它们可以用于其他参数。
此处不能使用引用样式 (::),因为它是一个复杂的表达式,而不是对特定方法或属性的直接引用。

关于kotlin - 附加用逗号分隔的字符串的有效方法 [Kotlin],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47927663/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com