从具有可为空类型的数组创建不具有可为空类型的数组

Create Array without nullable types from Array with nullable types

在 Kotlin 中,我们必须区分可空类型和不可空类型。假设我有一个 Array<String?> 表单,我知道其中的每个值实际上都不为空。有没有一种简单的方法可以从源数组创建一个 Array<String> 而无需复制它?

array.requireNoNulls() returns 具有非可选类型 Array<T> 的相同数组 Array<T?> (但如果找到任何项目 [=14= 则抛出 IllegalArgmentException ]).

如果你确定你的数组没有 null 那么你可以进行类型转换。

array as Array<String>

Array.filterNotNull 可能是更安全的方法。但是它会创建一个新的数组。

val items: Array<String?> = arrayOf("one", "two", null, "three")
val itemsWithoutNull: List<String> = items.filterNotNull()