Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin 将逗号分隔的数组表示形式转换为元素列表_Kotlin - Fatal编程技术网

Kotlin 将逗号分隔的数组表示形式转换为元素列表

Kotlin 将逗号分隔的数组表示形式转换为元素列表,kotlin,Kotlin,在kotlin中,我有一个包含整数元素数组的字符串,如下所示 [3481, 3457, 3445, 3443, 3129, 3114] 从中,我看到kotlin有一个joinToString函数,用于将整数列表转换为上面的字符串 val number=listOf(34813457344531293114) println(numbers.joinToString())/34813457344531293114 println(numbers.joinToString(prefix=“[”,p

在kotlin中,我有一个包含整数元素数组的字符串,如下所示

[3481, 3457, 3445, 3443, 3129, 3114]
从中,我看到kotlin有一个
joinToString
函数,用于将整数列表转换为上面的字符串

val number=listOf(34813457344531293114)
println(numbers.joinToString())/34813457344531293114
println(numbers.joinToString(prefix=“[”,postfix=“]”)/[34813457344531293114]
不幸的是,我在文档中找不到“unjoin to list”的双重功能,因此我找到了一个相当粗略的解决方案,使用了
replace
split
trim

fun String.toIntList():List{
val元素=此
.替换(“[”,“”)
.替换(“]”,“”)
.拆分(“,”)
return elements.map{it.trim().toInt()}
}

kotlin中是否有
joinToString()
dual或一种优雅的方式来转换为列表?

我认为没有特殊的kotlin方式来实现这一点,除非您将
String
视为
Int
s的JSON列表,并将其包装为有效格式。您的解决方案可能是最好的方法之一。或者,您可以使用一个
子字符串
跳过第一个和最后一个字符(大括号),而不是两个
替换
操作。同样在代码中,您可以使用
.removeSurrounding(“[”,“]”)来代替2个replace调用。您还可以将整个乐趣变成一行
fun String.toIntList()=removeSurrounding(“[”,“]).split(“,”).map{it.trim().toInt()}
我只需要这样做
text.slice(1..text.length-2).split(“,”).map(String::toInt)
(您可以在实际的逗号空间字符串上拆分,无需修剪)我不认为有什么特殊的kotlin方法可以实现这一点,除非您将
字符串
视为
Int
s的JSON列表,并将其包装为有效格式。您的解决方案可能是最好的方法之一。或者,您可以使用一个
子字符串
跳过第一个和最后一个字符(大括号),而不是两个
替换
操作。同样在代码中,您可以使用
.removeSurrounding(“[”,“]”)来代替2个replace调用。您还可以将整个乐趣变成一行
fun String.toIntList()=removeSurrounding(“[”,“]).split(“,”).map{it.trim().toInt()}
我只需要这样做
text.slice(1..text.length-2).split(“,”).map(String::toInt)
(您可以在实际的逗号空间字符串上拆分,无需修剪)