我希望在Kotlin中将List<String>
转换为List<Int>
。
val stringArray = "1 2 3 4 5 6".split(" ")
val intArray = MutableList<Int>(0, {0})
for (item in stringArray) {
intArray.add(item.toInt())
}
上面会这样做,但感觉就好像有一种更好的方法(可以使用lambdas和stream?)。
答案 0 :(得分:6)
如果您的输入确实有分隔符,则可以按照已建议的split
进行操作。之后map
就是您所需要的。这样就可以了:
val numbers = "1 2 3 4 5 6"
val result = numbers.split(" ").map(String::toInt)
答案 1 :(得分:3)
val intArray = stringArray.map(String::toInt)
或与lambda
val intArray = stringArray.map { it.toInt() }
答案 2 :(得分:1)
您可以将.map { ... }
与.toInt()或.toIntOrNull()
:
val result = strings.map { it.toInt() }
只有结果不是数组而是列表。最好在非性能关键代码中使用列表而不是数组,请参阅差异。
如果您需要数组,请添加.toTypedArray()
或.toIntArray()
。