Kotlin: lanzar ArrayList <String!> Para Array <String>

Estoy tratando de dividir una cadena que ingresa el usuario. Mi código es similar al siguiente:

val aList = Array(5, {Array<String>(2){ " " }}) aList[0] = ArrayList(input.nextLine().split(" ")) // `split` returns a List 

Pero esto da como resultado el siguiente error: error: type inference failed. Expected type mismatch: infernetworking type is ArrayList<String!> but Array<String> was expected error: type inference failed. Expected type mismatch: infernetworking type is ArrayList<String!> but Array<String> was expected .

Después de cavar un poco, descubrí que el T! operador significa T or T? . ¿Cómo puedo lanzar ArrayList<String!> Para Array<String> ?

ArrayList<T> y Array<T> son types completamente diferentes , por lo que, formalmente hablando, no se puede hacer un cast.

Sin embargo, puede convertir una List<T> a una Array<T> usando .toTypedArray() :

 aList[0] = input.nextLine().split(" ").toTypedArray()