Kotlin:将ArrayList <String!>转换为Array <String>

Ara*_*raf 3 kotlin

我试图拆分用户输入的字符串.我的代码看起来类似于以下内容:

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

但这会导致以下错误: error: type inference failed. Expected type mismatch: inferred type is ArrayList<String!> but Array<String> was expected.

经过一番挖掘后,我发现T!操作员意味着T or T?.我怎样才能投ArrayList<String!>Array<String>

hot*_*key 8

ArrayList<T>并且Array<T>完全不同的类型,因此,正式地说,你不能只是演员.

但是,您可以将a转换List<T>Array<T>使用.toTypedArray():

aList[0] = input.nextLine().split(" ").toTypedArray()
Run Code Online (Sandbox Code Playgroud)