Создать Array без обнуляемых типов из Array с обнуляемыми типами - PullRequest
0 голосов
/ 21 ноября 2018

В Котлине мы должны различать обнуляемые типы и не обнуляемые типы.Допустим, у меня есть Array<String?> fom, который я знаю, что каждое значение в нем на самом деле не равно нулю.Есть ли простой способ создать Array<String> из исходного массива, не копируя его?

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

Array. filterNotNull может быть более безопасным способом сделать это.Но это создаст новый массив.

val items: Array<String?> = arrayOf("one", "two", null, "three")
val itemsWithoutNull: List<String> = items.filterNotNull()
0 голосов
/ 21 ноября 2018

array.requireNoNulls() возвращает тот же массив Array<T?> с необязательным типом Array<T> (но выдает IllegalArgmentException, если найден какой-либо элемент null).

, если вы уверены, что ваш массивне имеет null, тогда вы можете набрать.

array as Array<String>

...