How to convert String array to Int array in Kotlin?

You can use .map { ... } with .toInt() or .toIntOrNull():

val result = strings.map { it.toInt() }

Only the result is not an array but a list. It is preferable to use lists over arrays in non-performance-critical code, see the differences.

If you need an array, add .toTypedArray() or .toIntArray().


I'd use something simple like

val strings = arrayOf("1", "2", "3")
val ints = ints.map { it.toInt() }.toTypedArray()

Alternatively, if you're into extensions:

fun Array<String>.asInts() = this.map { it.toInt() }.toTypedArray()

strings.asInts()