[英]Kotlin String.split().filterIndexed() is returning empty list with size 1
fun main() {
val delDetails = "2-hello,3-world,4-why,5-is,6-it,7-like,8-this"
val delDetailEmpty = ""
val delPositions = delDetailEmpty.split("-",",").filterIndexed { index, _ -> index % 2 ==0}.toMutableList()
println(delPositions.size) //it returns empty list [] with size 1
println(delDetailEmpty.toList().size) //this returns empty list [] with size 0
}
println(delPositions.size) 返回大小为 1 的空列表 []
而 println(delDetailEmpty.toList().size) 这将返回大小为 0 的空列表 []
首先,一个空列表的大小总是为零。
您正在使用 kotlin 的内置扩展函数。 它们的功能因情况而异。 您可以通过单击扩展功能来检查实际代码。
println(delPositions.size) //它返回空列表 [] 大小为 1
CharSequence.split(...)
在您的情况下返回一个带有空字符串的列表,但不是一个空列表。 因此,列表的大小为 1。
println(delDetailEmpty.toList().size) //返回空列表[],大小为0
String.toList()
为空字符串返回一个空的 Char 列表。 此列表的大小为 0。
希望能帮助到你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.