2017-06-19 11 views
3

ユーザーが入力した文字列を分割しようとしています。Kotlin:キャストArrayList <String!>を配列<String>

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

しかし、これは、次のエラーが発生:私のコードは次のようになります 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>にキャストするにはどうすればよいですか?

答えて

7

ArrayList<T>およびArray<T>completely different typesです。正式に言えば、キャストするだけではありません。

あなたは、しかし、List<T>.toTypedArray()を使用してArray<T>に変換することができます

aList[0] = input.nextLine().split(" ").toTypedArray() 
関連する問題